最近在学习struts2,遇到这样一个问题:在login.jsp中一个表单:<s:form action="HelloWorld">
Name:<s:textfield name="id" />
<s:submit value="Submit"/>
</s:form>
如果这样写,没有什么问题但是如果改成<form action="HelloWorld">
<input type="text" name="id" />
<input type="submit" value="Submit" />
</form>
就会出现HTTP Status 404 - /struts2_login/HelloWorld--------------------------------------------------------------------------------type Status reportmessage /struts2_login/HelloWorlddescription The requested resource (/struts2_login/HelloWorld) is not available.
--------------------------------------------------------------------------------Apache Tomcat/6.0.20请教高手解惑~~
Name:<s:textfield name="id" />
<s:submit value="Submit"/>
</s:form>
如果这样写,没有什么问题但是如果改成<form action="HelloWorld">
<input type="text" name="id" />
<input type="submit" value="Submit" />
</form>
就会出现HTTP Status 404 - /struts2_login/HelloWorld--------------------------------------------------------------------------------type Status reportmessage /struts2_login/HelloWorlddescription The requested resource (/struts2_login/HelloWorld) is not available.
--------------------------------------------------------------------------------Apache Tomcat/6.0.20请教高手解惑~~
<input type="text" name="id" value="${id}"/>
<input type="submit" value="Submit" />
</form>
web.xml不用改?
有谁可以跟我说哈,action属性里面,有时候是"HelloWorld.do",有时候是“HelloWorld”,有时候又是
"HelloWorld.action"有什么区别啊?
这两者仅是后缀,使用没有任何区别。Struts2默认访问方式是.action,定义在Struts的属性配置文件struts.properties的struts.action.extension常量中,可以自行更改。方式如下:
在Struts的属性配置文件struts.properties中加入struts.action.extension=do,action,或者以<constant name="struts.action.extension" value="do,action"/>形式加入到struts.xml配置文件中,此后使用.do和.action都可以访问。这两种方式效果一致,其实struts.properties文件的内容均可在struts.xml中以<constant name="" value=""></constant>加入。