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

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

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

    隨筆-200  評論-148  文章-15  trackbacks-0
    在使用<s:form>標(biāo)記時(shí),發(fā)現(xiàn)控制臺總是輸出警告信息,

    警告信息內(nèi)容如下:

    警告: No configuration found for the specified action: 'ShowMessage' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
    2008-9-6 11:35:47 org.apache.struts2.components.Form evaluateExtraParamsServletRequest
    警告: No configuration found for the specified action: 'ShowMessage' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

    showmsg.jsp代碼如下

    <%@ taglib prefix="s" uri="/struts-tags" %>
    ......
    <div>
    hello world
    <s:form name="ShowMessage" method="post" action="/hello/ShowMessage.action" >
    <s:textfield label="user name" name="username"></s:textfield>
    <s:submit></s:submit>
    </s:form>
    </div>
    ......

    struts.xml配置如下:
    ......
    <struts>
     <package name="hello" extends="struts-default" namespace="/hello">
     <action name="ShowMessage" class="com.historycreator.strutstest.ShowMessage">
     <result>/digg/showmsg.jsp</result>
     </action>
     </package>
    </struts>

    打開showmsg.jsp頁面時(shí),就出現(xiàn)上述異常。嘗試了各種配置和訪問方法,均出現(xiàn)警告。搜索網(wǎng)絡(luò)給出的答案幾乎都說把<s:form name="ShowMessage" method="post" action="/hello/ShowMessage.action" >中的.action去掉就可以解決了,做了測試,問題仍然沒有解決。更有人讓把<s:去掉,不用tag,直接寫<form>這個當(dāng)然不會有問題,但是一會用標(biāo)記,一會不用,很雜亂,并且不是解決問題的根本之道。

    解決方法:
    經(jīng)過測試發(fā)現(xiàn),是沒有正確使用tag的原因,這種情況下,正確的寫法應(yīng)該是,<s:form name="ShowMessage" method="post" action="ShowMessage" namespace="/hello" >

    原因分析:

    因?yàn)殚_始使用的struts2標(biāo)簽(form)并未指定namespace屬性。所以struts2會默認(rèn)從根命名空間"/" 搜索action '/hello/ShowMessage.action',如搜索不到則進(jìn)入默認(rèn)命名空間''搜索action串,在默認(rèn)命名空間中是肯定找不到自己定義的action的,所以,struts2拋出一個警告信息。

    現(xiàn)在我們指定了namespace為/hello,則struts2會直接在/hello命名空間尋找。可以想象,如果在這么命名空間里找不到請求的action,也會拋出一條類似的信息。

    注意,<s:form name="ShowMessage" method="post" action="ShowMessage" namespace="/hello" >
    不能寫成<s:form name="ShowMessage" method="post" action="ShowMessage.action" namespace="/hello" >

    這樣仍然有對應(yīng)的警告信息,并且提交后出現(xiàn)無法訪問的結(jié)果。因?yàn)闆]有ShowMessage.action這樣一個action,這個.action不能由我們手工添加,Struts2會自動為你完成這個工作,并且手工添加是不行的,就不必多此一舉了。但是在其他的場合,比如使用超級鏈結(jié),則可以加上這個.action。

    轉(zhuǎn)載請注明 historycreator.com

    posted on 2010-10-28 15:50 無聲 閱讀(10233) 評論(0)  編輯  收藏 所屬分類: 職場生活
    主站蜘蛛池模板: 久久综合亚洲色一区二区三区 | 亚洲综合日韩中文字幕v在线| 亚洲一级毛片视频| 一本久久免费视频| 国产福利视精品永久免费| 免费看一级做a爰片久久| 91亚洲国产成人精品下载| 亚洲爆乳精品无码一区二区| 国偷自产一区二区免费视频| 免费观看的av毛片的网站| 亚洲AV无码一区二区乱孑伦AS | 精品成人免费自拍视频| 国产精品无码免费视频二三区| 亚洲AV无码久久| 黄人成a动漫片免费网站| aⅴ在线免费观看| 日韩一卡2卡3卡4卡新区亚洲| 亚洲免费福利在线视频| 男的把j放进女人下面视频免费| 国产一区二区三区免费视频| 亚洲黄色在线电影| 久久九九久精品国产免费直播| 四色在线精品免费观看| 91亚洲一区二区在线观看不卡| 一级黄色片免费观看| 在线观看无码的免费网站| 久久亚洲AV成人无码电影| 一本一道dvd在线观看免费视频 | 国产成人免费爽爽爽视频| 亚洲国产一区在线| 一区在线免费观看| 国产老女人精品免费视频| 亚洲国产人成在线观看| 精品国产一区二区三区免费| 亚洲黄片毛片在线观看| 亚洲av无码专区亚洲av不卡 | 50岁老女人的毛片免费观看| 亚洲伊人久久精品影院| 黄色一级视频免费观看| 免费看香港一级毛片| 亚洲一级免费视频|