<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 72  文章 - 28  trackbacks - 0
    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(4)

    隨筆分類(66)

    隨筆檔案(72)

    文章檔案(19)

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     警告信息如下:

    警告: No configuration found for the specified action: '/myNameSpace/login.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

     

    struts.xml配置信息(部分)

     

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

        <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">

     

    jsp頁面配置信息(部分)

     

    <s:form action="/myNameSpace/login.action">

     

    思考:沒有在''namespace中發現指定的action '/myNameSpace/login.action'

    答疑:因為配置的struts2標簽并未指定namespace屬性。所以struts2會默認從根命名空間"/"搜索action' /myNameSpace/login.action',如果搜索不到將進入默認命名空間''搜索action請求串,在默認命名空間中是肯定找不到我們 定義的action的,所以,struts2拋出一個警告信息。

    但是為什么我們沒有填寫namespace,我們的請求也可以正常訪問呢?

     

    我們來看一下解析后的html

    查看源碼得到的html(部分)

     

    <form id="login" onsubmit="return true;" action="/srvclink/myNameSpace/login.action" method="post">

     

    我們看到form提交的action串是準確的url請求,action串確實是/srvclin(應用根)/myNameSpace(命名空間)/login.action

    命名空間中找不到action定義,并不意味著這個action真的不存在,只是我們的代碼有問題而已。還有一點是我們在jsp頁面的action請求中 手動的加入了.action后綴。事實上struts2會自動追加.action的,因為我們并沒有合法的使用struts2的標簽,所以struts2 這里并沒有給我們追加.action,解析后的代碼中存在的.action,完全是我們手動在jsp頁面填寫的,有疑問的網友可以不手動添加查看 html

     

    我們修改我們的程序代碼

     

    jsp頁面配置信息(部分)修改后加入namespace屬性,修改action屬性值為/login.action

     

    <s:form action="/login.action" namespace="/myNameSpace">

     

    請求頁面后,大家很失望吧?警告依然存在。但是我們看一下警告信息。

     

    警告信息:

     

    警告: No configuration found for the specified action: '/login.action' in namespace: '/myNameSpace'. Form action defaulting to 'action' attribute's literal value.

     

    沒有在'/myNameSpace'namespace中發現指定的action '/login.action'

     

    毫無疑問,這里的警告和第一次的警告信息截然不同。我們現在存在命名空間,'/myNameSpace'能夠被struts2檢索到,并不是開始的''。那問題的關鍵在哪里呢?

    namespace中沒有發現指定的action '/login.action' ???

     

    我們來看一下struts.xml中的配置:

     

    struts.xml配置信息(部分)

     

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

        <action name="login" class="com.jato.srvclink.test.login.LoginAction" method="login">

     

    是的,我們'/myNameSpace'命名空間下,只有action名字為'login'的定義,并沒有所謂的'/login.action' 定義,所以struts2的警告并未錯。如果大家對這個抱有懷疑,可以修改action的名字'login'‘/longin.action’

    <action name="/login.action" class="com.jato.srvclink.test.login.LoginAction" method="login">

    請求頁面時你會發現不在報警告信息,原因很簡單。因為在命名空間為'myNameSpace'下確實存在命名為'/login.action'action

     

    我們再次修改配置文件

     

    jsp頁面配置信息(部分)修改后action屬性值為longin

     

    <s:form action="login" namespace="/myNameSpace">

     

    請求頁面時,我們發現不再有警告信息了。

     

    如果你有足夠細心,我想你應該可以徹底的明白為什么struts2會報警了吧?你也應該明白了使用struts2標簽action中添加/線后請求反而報錯的原因了。

    posted on 2014-01-16 10:13 kelly 閱讀(264) 評論(0)  編輯  收藏 所屬分類: java 框架
    主站蜘蛛池模板: 亚洲国产精品无码久久久不卡| 搡女人真爽免费视频大全| 亚洲女同成人AⅤ人片在线观看| 久久综合久久综合亚洲| 99精品国产免费久久久久久下载 | 免费观看黄色的网站| 亚洲电影一区二区| 最刺激黄a大片免费网站| 久久久久亚洲精品无码蜜桃| 久久久精品2019免费观看| 亚洲理论片中文字幕电影| 999久久久免费精品国产| 亚洲国产亚洲综合在线尤物| 美女被免费喷白浆视频 | 国产成人亚洲精品电影| 国产精品自在自线免费观看| 瑟瑟网站免费网站入口| 亚洲乱码国产一区网址| 成全视频在线观看免费| 亚洲精品日韩专区silk| 免费鲁丝片一级观看| 免费国产在线精品一区| 国产精品亚洲а∨无码播放 | 亚欧日韩毛片在线看免费网站| 久久精品国产亚洲AV高清热| 歪歪漫画在线观看官网免费阅读| 精品亚洲av无码一区二区柚蜜| 亚洲国产精品13p| 久久午夜羞羞影院免费观看| 国产成人精品日本亚洲专| 国产在线观看免费不卡| 免费无码又爽又刺激高潮软件| 亚洲成人黄色网址| 又黄又爽无遮挡免费视频| 无码人妻精品中文字幕免费| 亚洲码欧美码一区二区三区| 亚洲精品亚洲人成人网| 成人免费午间影院在线观看| 狠狠躁狠狠爱免费视频无码| 亚洲精品福利你懂| 亚洲AV无码专区在线播放中文|