今天第一次使用Struts2的tag标签,后台总是报标题中的警告,处理原则是:
前台页面中<s:form>标签里的action和namespace属性值要和struts.xml文件中定义的action和package的namespace属性值相一致。
jsp代码如下:
<body>
<s:form action="login" namespace="/" method="post" name="main_form">
<s:textfield name="username" label="用户名"></s:textfield>
<br />
<s:password name="password" label="密码"></s:password>
<br />
<s:submit name="submitButt" label="提交"></s:submit>
<br />
</s:form>
</body>
struts.xml代码如下:
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.paul.action.Login">
<result name="success">/success.jsp</result>
<result name="failure">/failure.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
注意上面两段代码中的对应字体的值。
需要注意的是:因为struts2的扩展名默认是.action,所以<s:form>标签里不要再画蛇添足的写action=“login.action”,这样后台还是会报这个警告。
即使不写.action,在访问action时的url还是会默认加上.action。