小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

struts2標簽使用注意事項

 soft_xiang 2011-04-21
本文主要為項目過程中碰到Struts2的s標簽不能使用的問題的一個記錄,先將產生的原因記錄如下:

因過濾器配置不當引起s標簽不能使用

在jsp頁面中加入了<%@ taglib uri="/struts-tags" prefix="s" %>后使用s標簽報錯,錯誤如下:

org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/stores/AddStoresIn.jsp at line 95

92: 	</head>
93: 
94: 	<body>
95: 		<s:text name="gtest">asfdasfdsf</s:text>
96: 		<table class="mainTable" width="100%" border="0" cellspacing="0"
97: 			cellpadding="0">
98: 			<tr>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

root cause

The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
	org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
	org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44)
	org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)
	org.apache.jsp.jsp.stores.AddStoresIn_jsp._jspx_meth_s_005ftext_005f0(AddStoresIn_jsp.java:462)
	org.apache.jsp.jsp.stores.AddStoresIn_jsp._jspService(AddStoresIn_jsp.java:152)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

參考文章:http://www./developer/article-bd15.html

原因:因為web.xml中的

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

攔截的是*.action的請求行為,如果不經過action就無法調用struts2的標簽包,使得s標簽無法使用

解決辦法:把<url-pattern>*.action</url-pattern>改為<url-pattern>/*</url-pattern>或者通過action訪問帶s標簽的jsp頁面


另一個注意事項,如果使用的是servlet2.3以下的規(guī)范須在web.xml加入taglib申明。。。。。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多