1. 如何使struts2頁面文本框中的特殊字元不被轉義
查看當前slowlog-log-slower-than設置
127.0.0.1:6379> CONFIG GET slowlog-log-slower-than
1) "slowlog-log-slower-than"
2) "10000"
- 設置滑滾跡信並slowlog-log-slower-than為100ms
127.0.0.1:6379> CONFIG SET slowlog-log-slower-than 100000
OK
- 設置備缺slowlog-max-len為1000
127.0.0.1:6379> CONFIG SET slowlog-max-len 1000
OK
2. Struts2 過濾器不能攔截*.do
應該是/*.do這樣才能攔截
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*.do</url-pattern>
</filter-mapping>
樓主復制我的答案上去吧,絕回對行,給分答吧。。
3. myeclipse中struts2的過濾器問題怎麼解決急急急!!!
struts2從2.x的某個版本,具體的忘了,Filter類已經改成org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,而回不是以前的了。答
4. struts2的核心過濾器(url-pattern="/*")會吞掉匹配不到的url請求嗎
會攔截的,如果你配置了<struts>
<constant name="struts.action.extension" value="action"/>
</struts>這個,那就不會處理。
5. struts2中# %{} ${}等的作用
一般有三種。
1)訪問非根對象屬性,例如示例中的#session.msg表達式,由於Struts 2中值棧被視為根對象,所以訪問其他非根對象時,需要加#前綴。實際上,#相當於ActionContext. getContext();#session.msg表達式相當於ActionContext.getContext().getSession(). getAttribute(」msg」) 。
2)用於過濾和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
3)用來構造Map,例如示例中的#{』foo1′:』bar1′, 』foo2′:』bar2′}。
2.%符號
%符號的用途是在標志的屬性為字元串類型時,計算OGNL表達式的值。如下面的代碼所示:
構造Map
<s:set name=」foobar」 value=」#{』foo1′:』bar1′, 『foo2′:』bar2′}」 />
<p>The value of key 「foo1″ is <s:property value=」#foobar['foo1']」 /></p>
<p>不使用%:<s:url value=」#foobar['foo1']」 /></p>
<p>使用%:<s:url value=」%{#foobar['foo1']}」 /></p>
3.$符號
$符號主要有兩個方面的用途。
在國際化資源文件中,引用OGNL表達式,例如國際化資源文件中的代碼:reg.agerange=國際化資源信息:年齡必須在min同{max}之間。
在Struts 2框架的配置文件中引用OGNL表達式,例如下面的代碼片斷所示:
<validators>
<field name=」intb」>
<field-validator type=」int」>
<param name=」min」>10</param>
<param name=」max」>100</param>
<message>BAction-test校驗:數字必須為min為{max}之間!</message>
</field-validator>
</field>
</validators
6. Java框架Struts2的攔截器和過濾器有什麼區別
過濾器,是在java web中,你傳入的request,response提前過濾掉一些信息,或者提前設置一些參數,然後再傳入servlet或者struts的
action進行業務邏輯,比如過濾掉非法url(不是login.do的地址請求,如果用戶沒有登陸都過濾掉),或者在傳入servlet或者
struts的action前統一設置字元集,或者去除掉一些非法字元.
攔截器,是在面向切面編程的就是在你的service或者一個方法,前調用一個方法,或者在方法後調用一個方法比如動態代理就是攔截器的簡單實現,在你調用方法前列印出字元串(或者做其它業務邏輯的操作),也可以在你調用方法後列印出字元串,甚至在你拋出異常的時候做業務邏輯的操作。
攔截器與過濾器的區別:
執行順序:過濾前 - 攔截前 - Action處理 - 攔截後 -
過濾後。個人認為過濾是一個橫向的過程,首先把客戶端提交的內容進行過濾(例如未登錄用戶不能訪問內部頁面的處理);過濾通過後,攔截器將檢查用戶提交數據的驗證,做一些前期的數據處理,接著把處理後的數據發給對應的Action;Action處理完成返回後,攔截器還可以做其他過程(還沒想到要做啥),再向上返回到過濾器的後續操作。
7. struts2過濾器<url-pattern>/mall/buy_*</url-pattern>為什麼不生效
第三個寫錯了,web.xml中的過濾器不能寫成/buy_*的方式,你如果要想使用這種方式的話,就用struts2的action的通配方式,就可以採用這樣的方式來批量處理
eg: <action name="a_*" class="" method="{1}">
<result>/{1}.jsp</result>
</action>
好像是這么的,建議去看看struts2的通配action
8. 如何使struts2頁面文本框中的特殊字元不被轉義
Html中特殊字元不被轉義,可以使用預格式化標簽。pre 是 Preformatted text(預格式化文本彎弊段) 的縮寫。使用埋譽此標簽可以把代碼中的空格和換行直接卜姿顯示到頁面上。例如HTML代碼:
<pre>
if (xx > 5) {
print "比5大!\n";
}
</pre>
9. struts2怎麼在web.xml配置過濾器過濾掉指定的url或者指定的url不過濾
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern> //這個抄 地方指定要過濾的url
</filter-mapping>
10. 如何配置struts2的過濾器
你說的是攔截器吧
第一步:創建一個類實現Intercepter介面並實現其中方法
第二步:注冊攔截器(在struts.xml)如:
<package name="cust"
namespace="/cust"
extends="struts-default">
<interceptors>
<!-- 注冊攔截器 -->
<interceptor name="first"
class="com.interceptor.FirstInterceptor"/>
<interceptor name="second"
class="com.interceptor.SecondInterceptor"/>
<!-- 注冊攔截器棧,將所有攔截器打包在一起 -->
<interceptor-stack name="mystack">
<interceptor-ref name="first"/>
<interceptor-ref name="second"/>
<!-- 引用自定義的攔截器時,會使struts2自帶的攔截器失效
因此,要將默認的攔截器加入到自定義的攔截器棧中 -->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!--第三步: 引用攔截器 ,
<action name="toUpdateCustomer"
class="com.action.ToUpdateCustomerAction"
method="execute">
<!-- 引用攔截器 ,
<interceptor-ref name="first"/>
<interceptor-ref name="first"/>-->
<!-- 引用攔截器棧,會一次將所有的攔截器引用 -->
<interceptor-ref name="mystack"/>
<result name="success">
/WEB-INF/cust/update_customer.jsp
</result>
</action>
</package>
供參考