日期:2014-05-17  浏览次数:20631 次

struts2初学者的小疑问
小弟刚接触strtus2 有个疑问就是我照着书写了一个小例子 可是为什么在strtus.xml配置上 action="login"这样就不好使 等把login改成别的就运行正常 
XML code

<struts>        
    <package name="struts2" extends="struts-default">
        <action name="login" class="com.struts2.LoginAction">
            <result name="success">/result.jsp</result>
        </action>        
    </package>
</struts>    



HTML code

    <form action="login">
    username: <input type = "text" name = "username"><br>
    password: <input type="password" name="password"><br>
    <input type="submit" value="subimt"> 
    </form>


这样就无法运行 提示找不到com.struts2.LoginAction和result 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
XML code

<struts>        
    <package name="struts2" extends="struts-default">
        <action name="logins" class="com.struts2.LoginAction">
            <result name="success">/result.jsp</result>
        </action>        
    </package>
</struts>    



HTML code

    <form action="logins">
    username: <input type = "text" name = "username"><br>
    password: <input type="password" name="password"><br>
    <input type="submit" value="subimt"> 
    </form>


像这样把action改成logins就可以正常运行 求解

------解决方案--------------------
贴出你的LoginAction中的代码,看看action中有login这个方法么
------解决方案--------------------
跟名字没关系,可能是没保存的原因吧,在测试的时候除了改jsp页面不用重启服务器之外,其他的要重启服务器(除非自己重启),另外你还少一个result; <result name="input">/login.jsp</result>
------解决方案--------------------
把 LoginAction贴出来先
------解决方案--------------------
是不是login在别的地方用了?
------解决方案--------------------
这应该没问题的, 应该是你的login 被别的地方使用了
------解决方案--------------------
在页面的 action=“login” 改成action=“login.do” 然后再xml配置文件中 servlet中配置<url-pattern>*.do</url-pattern>
------解决方案--------------------
这个应该是那用到login了,不然不会有问题。