我可以在同一个Action类中创建两个方法吗?如果是这样,我们如何在struts.xml
文件中指定它?
例如:我使用两个单独的正则表达式创建了一个简单的验证操作类来验证email address
以及password
。
我在Action类中创建了两个方法:emailVerification()
和passVerification()
。
我在里面写了所有必要的验证码,但现在当它们返回SUCCESS
时,它们应该会产生相同的成功页面结果,同样也会导致ERROR
......
答案 0 :(得分:4)
是的,您可以在Action Class中创建任意数量的方法。你可以做这样的事情
package com.myvalidation;
public class MyValidationClass extends ActionSupport
{
public String emailVerification() throws Exception
{
//Your validation logic for email validation
return SUCCESS;
}
public String passVerification() throws Exception
{
//Your validation logic for password validation
return SUCCESS;
}
}
struts.xml
<action name="emailVerification" method="emailVerification" class="com.myvalidation.MyValidationClass">
<result name="success">/your_success_jsp.jsp</result>
<result name="input">/your_error_jsp.jsp</result>
</action>
<action name="passVerification" method="passVerification" class="com.myvalidation.MyValidationClass">
<result name="success">/your_success_jsp.jsp</result>
<result name="input">/your_error_jsp.jsp</result>
</action>
答案 1 :(得分:1)
使用以下URL格式,您可以从Struts操作类调用任何公共方法:
/ActionName!publicMethodName.action?p1=v1&p2=v2
有关更多信息,请参阅:Action Configuration
答案 2 :(得分:0)
不是为使用此模式的每个操作类编写单独的映射,而是可以将其编写(method =“{1}”)一次作为通配符映射。