最近在学习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请教高手解惑~~

解决方案 »

  1.   

    <form action="HelloWorld">这个是struts的功能啊!在form中肯定是不能这样直接使用struts功能的
      

  2.   

    <form action="HelloWorld.action">
    <input type="text" name="id" value="${id}"/>
    <input type="submit" value="Submit" />
    </form>
      

  3.   

    只要把action属性改成“HelloWorld.action”就可以了啊
    web.xml不用改?
      

  4.   

    把<form action="HelloWorld">改成<form action="HelloWorld.action">就行了
      

  5.   

    嗯,改过之后就可以了
    有谁可以跟我说哈,action属性里面,有时候是"HelloWorld.do",有时候是“HelloWorld”,有时候又是
    "HelloWorld.action"有什么区别啊?
      

  6.   

    <s:form action="HelloWorld">改为<s:form action="HelloWorld.action">或<s:form action="HelloWorld" namespace="/你的名称空间">.do与.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>加入。
      

  7.   

    Struts2默认访问方式是.action,可以通过struts.action.extension属性进行修改。