keepconditiontag.java

来自「OBPM是一个开源」· Java 代码 · 共 62 行

JAVA
62
字号
package cn.myapps.base.web.tag;

import java.util.Enumeration;

import javax.servlet.ServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * The page tag for keep the search condition in list page.
 */
public class KeepConditionTag extends TagSupport {
    
	private String form;

	private String field;
	/**
	 * @param field The field.
	 */
	public void setField(String field) {
		this.field = field;
	}
	/**
	 * @param form The form.
	 */
	public void setForm(String form) {
		this.form = form;
	}
	/* (non-Javadoc)
	 * @see javax.servlet.jsp.tagext.Tag#doEndTag()
	 */
	public int doEndTag() throws JspException {		
		ServletRequest request = pageContext.getRequest();
		Enumeration enm = request.getParameterNames();
		StringBuffer html = new StringBuffer();

		html.append("<script language='javascript'>");
		html.append("var cndtnform=document." + form + ";");

		while (enm.hasMoreElements()) {
			String name = (String) enm.nextElement();

			if (name.indexOf("_") >= 0) {
				String value = request.getParameter(name);
				if (value != null && value.trim().length() > 0) {
					html.append("if(!cndtnform." + name + ")\r\n");
					html.append("document.write(\"<input type='hidden' name='"
							+ name + "' value='" + value + "'>\");\r\n");
				}
			}
		}
		html.append("</script>");

		try {
			pageContext.getOut().print(html.toString());
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
		return super.doEndTag();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?