/**
* Copyright 2008 biaoping.yin
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.frameworkset.common.tag.pager.tags;
import java.io.OutputStream;
import javax.servlet.jsp.JspException;
/**
* <p>ParamsTag.java</p>
* <p> Description: </p>
* <p> bboss workgroup </p>
* <p> Copyright (c) 2009 </p>
*
* @Date 2011-11-17
* @author biaoping.yin
* @version 1.0
*/
public class ParamsTag extends PagerTagSupport {
private String name = null;
/**
* 编码次数,连续编码次数
*/
private int encodecount = 1;
public int getEncodecount() {
return encodecount;
}
public void setEncodecount(int encodecount) {
this.encodecount = encodecount;
}
private boolean encode = false;
public void setEncode(boolean encode)
{
this.encode = encode;
}
public boolean getEncode()
{
return this.encode;
}
public final void setName(String val) {
name = val;
}
public final String getName() {
return name;
}
public int doEndTag()throws JspException
{
return super.doEndTag();
}
public int doStartTag() throws JspException {
super.doStartTag();
if(pagerContext != null)
{
pagerContext.addParamsByRequest(name,this.encode,encodecount);
return EVAL_BODY_INCLUDE;
}
else
/**
当param标签出现在list标签中时,
进行以下处理。如果当存在pager标签,并且将param也放在list标签中,这种情况是非法的
但是程序没有做相应的判断。
*/
{
PagerDataSet listTag = (PagerDataSet) findAncestorWithClass(this, PagerDataSet.class);
if(listTag != null && listTag.getRowid() == 0)
{
pagerContext = listTag.getPagerContext();
pagerContext.addParamsByRequest(name,this.encode,encodecount);
return EVAL_BODY_INCLUDE;
}
else
{
return SKIP_BODY;
}
}
}
public void release() {
name = null;
super.release();
}
/* (non-Javadoc)
* @see com.frameworkset.common.tag.BaseTag#generateContent()
*/
public String generateContent() {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see com.frameworkset.common.tag.BaseTag#write(java.io.OutputStream)
*/
public void write(OutputStream output) {
// TODO Auto-generated method stub
}
@Override
public void doFinally() {
this.encode = false;
this.name = null;
encodecount = 1;
super.doFinally();
}
}