📄 jahiapageformtag.java
字号:
package org.jahia.taglibs.form;import org.jahia.data.*;import org.jahia.params.ParamBean;import org.jahia.exceptions.JahiaException;import org.jahia.utils.JahiaConsole;import org.jahia.services.pages.*;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;/** * Generate an html form which name is "jahiaform" and action is the current page request with cache off * * @author Khue Nguyen <a href="mailto:knguyen@jahia.org">knguyen@jahia.org</a> */public class JahiaPageFormTag extends TagSupport { private static final String CLASS_NAME = JahiaPageFormTag.class.getName(); public static final String FORM_NAME = "jahiapageform"; private String name = FORM_NAME; private String method = "POST"; public void setName(String name) { if ( name != null && !name.trim().equals("") ) { this.name = name; } } public String getName() { return this.name; } public void setMethod(String method) { if ( method != null && method.equalsIgnoreCase("get") ) { this.method = method; } } public String getMethod() { return this.method; } public int doStartTag() { ServletRequest request = pageContext.getRequest(); JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData"); if (jData == null) { HashMap tempEngineMap = (HashMap) request.getAttribute("org.jahia.engines.EngineHashMap"); jData = (JahiaData) tempEngineMap.get("jData"); } if ( jData == null ) return EVAL_BODY_INCLUDE; JahiaPage page = jData.params().getPage(); try { String pageUrl = page.getUrl(); if ( pageUrl != null && pageUrl.indexOf("/cache/off") == -1 ) { int pos = pageUrl.indexOf("?"); if ( pos == -1 ) { pageUrl += "/cache/offonce"; } else { pageUrl = pageUrl.substring(0,pos-1) + "/cache/offonce" + pageUrl.substring(pos); } } JspWriter out = pageContext.getOut(); StringBuffer buff = new StringBuffer("<form name=\""); buff.append(this.name); buff.append("\"" ); buff.append(" action=\""); buff.append(pageUrl); buff.append("\" method=\""); buff.append(this.method); buff.append("\">"); out.print(buff.toString()); } catch (IOException ioe) { JahiaConsole.println(CLASS_NAME+"doStartTag", ioe.toString()); } catch (JahiaException je) { JahiaConsole.println(CLASS_NAME+"doStartTag", je.toString()); } return EVAL_BODY_INCLUDE; } public int doAfterBody(){ try { JspWriter out = pageContext.getOut(); out.print("</form>"); return EVAL_PAGE; } catch (IOException ioe) { JahiaConsole.println(CLASS_NAME+"doStartTag", ioe.toString()); } return EVAL_PAGE; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -