struts2的標籤庫有一個小小的bug

    本人初涉struts2框架,菜鳥級別。今天學習struts2配置文件命名空間的時候發現了一個bug……

 

    按照struts2標籤的功能,在表單的action屬性不帶.action後綴時會自動加.action後綴。舉個例子來說吧,action的配置文件如下:

<package name="ch3" extends="struts-default">

     <action name="UserReg" class="ch3.UserRegAction">

     <result name="success">/ch3/success.jsp</result>

     <result name="input">/ch3/reg.jsp</result>

     </action>

</package>

form表單的action屬性爲<s:form id="id" action="ch3/UserReg">和<s:form id="id" action="UserReg">兩種情況下處理的結果都一樣,原因時struts2標籤在UserReg後面自動加上.action後綴使其變成UserReg.action。

 

    但是有命名空間的情況下action的配置文件爲:

<package name="ch3" extends="struts-default" namespace="/ch3">

 

     <action name="UserReg" class="ch3.UserRegAction">

     <result name="success">/ch3/success.jsp</result>

     <result name="input">/ch3/reg.jsp</result>

     </action>

</package>

在form表單的action爲<s:form id="id" action="UserReg">的時候加上了.action後綴,查看頁面源文件就發現<form id="id" name="UserReg" onsubmit="return true;" action="/Struts2/ch3/UserReg.action" method="post"><table class="wwFormTable">已經加上了.acion後綴。但是<s:form id="id" action="ch3/UserReg">的時候發現<form id="id" onsubmit="return true;" action="ch3/UserReg" method="post"><table class="wwFormTable">,struts2的標籤並沒有加上.action後綴從而導致404錯誤。

 

    所以建議讀者使用struts2的時候表單的action屬性最好自己加上.action後綴以免發生以外……菜鳥的經驗,談不上經驗跟大家分享一下。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章