Java 为什么在Struts 2应用程序中没有为操作定义结果
目前我对struts 2还不熟悉,但我知道,当我试图在struts中执行验证时,我在struts 2示例中遇到了问题,这是一个自定义验证示例。所有代码如下: index.jspJava 为什么在Struts 2应用程序中没有为操作定义结果,java,jsp,validation,struts2,Java,Jsp,Validation,Struts2,目前我对struts 2还不熟悉,但我知道,当我试图在struts中执行验证时,我在struts 2示例中遇到了问题,这是一个自定义验证示例。所有代码如下: index.jsp <%-- Document : index Created on : Jan 9, 2014, 10:58:52 AM Author : manoj.sharma --%> <%@ taglib uri="/struts-tags" prefix="s" %&
<%--
Document : index
Created on : Jan 9, 2014, 10:58:52 AM
Author : manoj.sharma
--%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<s:form action="register">
<s:textfield name="name" label="Name"></s:textfield>
<s:password name="password" label="Password"></s:password>
<s:submit value="register"></s:submit>
</s:form>
谢谢所有能帮助我的人…试试看
public class RegisterAction extends ActionSupport{
private String name,password;
分成
public class RegisterAction extends ActionSupport{
private String name;
private String password;
我想这可能行得通。
更改您的struts.xml
code
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="register" class="com.org.my.action.RegisterAction">
<result name="input">/index.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
/index.jsp
/welcome.jsp
到
/welcome.jsp
/index.jsp
只要改变结果的顺序。。首先定义success
,然后input
更改此设置-
<action name="register" class="com.org.my.action.RegisterAction">
到
在Struts.xml文件中
谢谢查看您的web.xml。
您的web.xml具有以下筛选器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<listener>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
支柱2
org.apache.struts2.dispatcher.FilterDispatcher
支柱2
/*
我遇到了与解决此错误相同的问题:
您需要在index.jsp文件中做一个更改。在表单中更改操作。
(逐个尝试两个表单行)
或
我希望它能解决您的问题。好吧,我想您知道struts是如何工作的,您已经做了所有正确的事情,但仍然无法找出您的项目有什么问题。 您的操作类名称提到正确,方法名称正确。结果页面设置正确,但仍然失败。我有件事你应该检查一下。 例如,如果您从web页面和action类中获取name和age,则将name设置为string,age设置为int,作为同一类的成员变量或以模型驱动的方式。在用于测试的网页中,您必须在姓名和年龄中输入字符。在这种情况下,struts将检查action类,该类使用string作为名称和年龄,但找不到它。因为您创建的操作类的名称为string,年龄为int。因此会引发404错误 或者你可以试试这个 我发现更改输入有助于解决此问题。我从一开始就对web应用程序进行了适当的刷新,它似乎解决了这个问题 改变
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="register" class="com.org.my.action.RegisterAction">
<result name="input">/index.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
/index.jsp
/welcome.jsp
到
/index.jsp
/welcome.jsp
请有人帮帮我……您重新启动了web服务器吗?我已经重新启动了服务器,因为我正在使用netbeans7.4 IDE。但我还是犯了同样的错误。我还在等待,请有人帮帮我。有人知道这个问题吗?发布部署工件的WEB-INF/lib
的内容。结果的顺序无关紧要。我没有在本地系统中尝试过。但我从[Struts2验证文档]()中获取了参考资料。。如果我错了,请纠正我检查返回的段落处理输入
,这只是一个建议。没有问题任何其他建议请让我知道,这样我的演示就可以工作了。我也改变了上面描述的结果顺序,但仍然存在相同的问题。并且还将变量声明为私有字符串名称;在下一行私有字符串密码;但是仍然存在同样的问题。WEB-INF/lib的内容:Struts2 Core 2.3.15-xwork-Core-2.3.15.3.jar Struts2 Core 2.3.15-Struts2-Core-2.3.15-Struts2-convention-plugin2.3.15.3.jar Struts2 Core 2.3.15-ognl-3.0.6.jar Struts2 Core 2.3.15-javaassist-3.11.0.GA.jar Struts2 Core 2.3.15-marker-freets2.19.2.3.jar-commons-lang3-3.1.jar Struts2 Core 2.3.15-commons-io-2.0.1.jar Struts2 Core 2.3.15-commons-fileupload-1.3.jar Struts2 Core 2.3.15-asm-tree-3.3.jar Struts2 Core 2.3.15-asm-commons-3.3.jar Struts2 Core 2.3.15-asm-3.3.3.jarI通过将操作名从regi更改为regi和index.jsp文件中的操作名,解决了我自己的问题从注册到注册。我认为按钮的名称和操作名称是相同的,因为出现了这个问题。
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="register" class="com.org.my.action.RegisterAction">
<result name="input">/index.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="register" class="com.org.my.action.RegisterAction">
<result name="success">/welcome.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
<action name="register" class="com.org.my.action.RegisterAction">
<action name="register" class="com.org.my.action.RegisterAction" method="execute">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<listener>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<%@ taglib uri="/struts-tags" prefix="s" %>
<s:form action="RegisterAction.action"> or <s:form action="register.action">
<s:textfield name="name" label="Name"></s:textfield>
<s:password name="password" label="Password"></s:password>
<s:submit value="register"></s:submit>
</s:form>
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="register" class="com.org.my.action.RegisterAction">
<result name="input">/index.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>
<struts>
<!-- Configuration for the default package. -->
<package name="default" namespace="/" extends="struts-default">
<action name="register" class="com.org.my.action.RegisterAction">
<result name="input">/index.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
</package>
</struts>