wmlfirstformtag.java

来自「一个免费wap站」· Java 代码 · 共 111 行

JAVA
111
字号
package com.eline.wap.common.taglib.wml;

import java.util.StringTokenizer;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspTagException;
import java.io.IOException;

import com.eline.wap.common.taglib.ListTag;
import com.eline.wap.common.util.AppLogger;


public class WmlFirstFormTag extends TagSupport {

	/**
	 * 
	 */
	private static final long serialVersionUID = -1055890156006022609L;

	private String action = null;
	private String method = "post";
	private ListTag listTag = null;

	/**
	 * 
	 *
	 */
	public WmlFirstFormTag() {
	}

	/**
	 * @throws JspException
	 */
	public int doEndTag() throws JspException {
		try {
            JspWriter out = pageContext.getOut();
            out.print("</go>");
            out.print("</anchor>&nbsp;");
		} catch (IOException e) {
			AppLogger.error("WmlFirstFormTag.doEndTag(): 形成第一页标记WmlFirstFormTag失败!");
		}
		return EVAL_PAGE;
	}

	/**
	 * @throws JspException
	 */
	public int doStartTag() throws JspException {
		//1.检查是否处于ListTag中
		listTag = (ListTag) findAncestorWithClass(this, ListTag.class);
		if (listTag == null)
		    throw new JspTagException("第一页标记不在列表标记中");
		
		try {
			JspWriter out = pageContext.getOut();
		
			//求出所要转到的网页
			StringTokenizer actionToken = new StringTokenizer(action, "?");
			if (actionToken.countTokens() < 1) {
				throw new JspTagException("所传入链接不合法!");
			}
			String linkURL = actionToken.nextToken();
			String paramsList = actionToken.nextToken();
			linkURL += "?" + listTag.getParamPrefix() + listTag.getPageIndexParam() + "=1";	//设置起始记录号
			linkURL += "&amp;" + listTag.getParamPrefix() + listTag.getNextParam() + "=true";
		
			// 求出页面中传过来的参数串
			StringTokenizer paramsToken = new StringTokenizer(paramsList, "&");
			String itemStr = null, param = null, value = null;
			StringTokenizer itemToken = null;
		
			// 形成参数传递页面内容
			out.print("<anchor>最前");
			out.print("	<go href=\"" + linkURL + "\" method=\"" + this.method + "\">");
			
			while (paramsToken.hasMoreTokens()) {
				itemStr = paramsToken.nextToken();
				itemToken = new StringTokenizer(itemStr, "=");
				if (itemToken.countTokens() > 1) {
					param = itemToken.nextToken();
					if (param.indexOf("amp;") >= 0) {
						param = param.substring(4);
					}
					value = itemToken.nextToken();
					out.print("<postfield name=\"" + param + "\" value=\"" + value + "\" />");
				}
			}
		} catch (IOException e) {
			AppLogger.error("WmlFirstFormTag.doStartTag(): 形成第一页标记WmlFirstFormTag失败!");
		}
		
		return EVAL_BODY_INCLUDE;
	}

	/**
	 * 
	 * @param action
	 */
	public void setAction(String action) {
		this.action = action;
	}

	public void setMethod(String method) {
		if (method!=null && !method.equals("") && !method.equalsIgnoreCase("null"))
			this.method = method;
		else
			this.method = "post";
	}
}

⌨️ 快捷键说明

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