<" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

關于(警告: No configuration found for the sp

系統 2157 0

Html代碼

??? <s:form action="/admin/login" method="post">?
??? <s:textfield name="username" id="usenrame" label="用戶名" />?
??? <s:password name="password" id="password" label="密碼" />??
??? <s:submit type="input" value="登錄" id="btnsubmit" cssClass="btnsubmit"></s:submit>??
??? </s:form> ?

struts.xml中的配置代碼如下 (代碼2):
Xml代碼

??? <package name="admin" namespace="/admin" extends="struts-default">?
??? <action name="login" class="com.longweir.struts2.action.LoginAction">??
?????? <result name="success">/actionResult.jsp</result>??
?????? <result name="login" type="resdirect">/admin/login.jsp</result>??????
?????? <result name="input">/admin/login.jsp</result>?
??? </action>?
??? </package>?

在網上搜索了下,搜索網絡給出的答案幾乎都說把<s:form action="/admin/login method="post" >中的login后加上.action后綴了,做了測試,問題仍然沒有解決。

通過我觀察發現有兩個地方需要修改,首先<s: form>表單中需要加入命名空間參數 namespace ,和struts.xml中配置一致。其次,<s:form action=xxx> 中直接寫action映射的名字,比如我的xml中是login,則這里直接寫login即可,不需要畫蛇添足加上.action后綴或者其他的前置路路徑,所以修改后的客戶端文件配置為代碼:

Html代碼

??? <s:form action="login" method="post" namespace="/admin">??
??? <s:textfield name="username" id="usenrame" label="用戶名" />??
??? <s:password name="password" id="password" label="密碼" /> <s:submit type="input" value="登錄" id="btnsubmit"??
??? cssClass="btnsubmit">?
??? </s:submit>??
??? </s:form>?


當然,如果你不是使用的struts2的標簽,而是使用的傳統的html代碼,則表單的action屬性必須加上完整的路徑和后綴

也就是說,必須改成如下代碼:

<form name="form" method="post" action="/admin/login.action">

你如上指定后,當瀏覽器給出如上的請求/admin/login.action ,struts2框架將首先在sturts.xml中查找 /admin 名稱空間,如果找到了(比如我這里顯然有這個名稱空間),則執行login.action,如果沒有找到,會到默認的名稱空間中查找,如果默認的也沒有,則提示錯誤,沒有映射該action.

分析下我出現的錯誤,在我的原始的代碼 (代碼1)中因為沒有指定namespace,那么框架認為輸出表單的請求和提交表單的請求都是在一個名稱空間中,即使在/admin名稱空間中,此事雖然可以找到,可以運行,但是會提示這個警告.

如果在你的struts.xml文件中指定了名稱空間,那么,如果在客戶端使用struts2的標簽,則要同樣指定名稱空間,但action= 這后面,直接寫action名即可,不需要加上名稱空間的前綴在前面。

因為,struts2框架會根據你所指定的名稱空間以及你系統當前應用所映射的路徑,構造一個完整的請求路徑。比如如上正確的 代碼3的 struts2代碼,在瀏覽器中查看源碼,解析的結果是:

Html代碼

??? <form id="login" name="/admin" action="/guestbook/admin/login.action" method="post">??
??? <table class="wwFormTable">?
??? <tr>??
??????? <td class="tdLabel">?
??????? <label for="usenrame" class="label">用戶名:</label> </td>??
??????? <td><input type="text" name="username" value="" id="usenrame"/></td>??
?????? </tr>?
?????? <tr>?
??????? <td class="tdLabel"><label for="password" class="label">密碼:</label></td>??
?????? <td><input type="password" name="password" id="password"/></td>?
??? </tr>??
????? <tr> <td colspan="2"><div align="right"><input type="submit" id="btnsubmit" value="&#30331;&#24405;" class="btnsubmit"/> </div></td>??
?????? </tr>??
??? </table>?
??? </form>? ?

可以看到,輸出的action 請求地址非常正確,自動加入了當前應用的名稱和根據namespace所整理成的完整的請求路徑:"/guestbook/admin/login.action

但是,假如我們人為的在action后面加上 action="/admin/login" ,雖然你指定了namespace="/admin" ,那struts2框架不會給你加上.action的后綴(可以查看輸出的html源碼中是沒有.action這個后綴的),最后還是會出現標題中所提示的警告,雖然還是可以正常工作.

所以,我個人總結為如下:

1. 如果你的xml配置文件中設置了namespace ,建議你的終端的struts2表單標簽中也設置一樣的namespace

2. 如果已經按照1中的設置,那么 action = 后面直接寫action名字即可,不需要加后綴(默認就會加上,xml中也一樣)

3. 以上僅是針對使用struts2標簽的情況下,如果你沒用struts2 的標簽而是使用的原始HTML標簽,則action=后面必須是完整的路徑地址: /應用名/名稱空間/xxx.action (action 后綴要有),因為很顯然,struts2不會給你自動加上那些信息。

關于(警告: No configuration found for the specified action)解決方案


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美不卡视频一区发布 | 欧美日韩精品一区二区在线线 | 亚洲国产片高清在线观看 | 欧美日韩后 | 男女真实有遮挡xx00动态图 | 国外成人免费视频 | 免费在线观看www | 一区二区三区 日韩 | 无码日本亚洲一区久久精品 | 91伊人| 亚洲综合视频一区 | 国产日韩中文字幕 | 一区二区三区四区视频 | 粉嫩粉嫩芽的虎白女18在线视频 | 精品欧美一区二区久久久伦 | 久久成人久久爱 | 黄色a视频 | 久久精品呦女 | 久艹在线观看视频 | 亚洲精品在线视频观看 | 仇爱电视剧泰剧在线观看免费播放 | 亚洲免费久久 | 欧美日韩亚洲在线 | 伊人情涩网 | 亚洲综合在线一区 | 久久久久久久久99精品 | 天天操天天拍 | 天天干天操 | 亚洲精品一区二区三区蜜桃久 | 国产成人理在线观看视频 | 五月天婷五月天综合网站 | 9191av| 成人一级片在线观看 | 婷婷qvod | 一区二区成人国产精品 | 免费在线黄色电影 | 久久精品国产一区二区 | 日韩在线视频一区 | 韩国一大片a毛片 | 亚洲乱码在线 | 自拍偷拍中文字幕 |