读书人

加入struts校验器招致404

发布时间: 2013-06-25 23:45:42 作者: rapoo

加入struts校验器导致404
HTTP Status 404 - No result defined for action grapes.action.LoginAction and result input

LoginAction.java action的代码


package grapes.action;

import grapes.service.LoginService;
import grapes.util.Util;
import grapes.vo.Login;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.validation.SkipValidation;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

/**
* @author Andy
* @date 2013-5-13
*/
public class LoginAction extends ActionSupport {

private int lid ;
private String password ;
private Login login ;
private List<Login> loginList ;
LoginService ls=new LoginService() ;

public String login() {
if(ls.login(login)) {
ActionContext.getContext().getSession().put("username", login.getLusername());
return "LOGIN" ;
}
return "LOGIN" ;
}

public String add() {
login.setLtime(Util.getDateTime());
ls.add(login);
return "LOGIN" ;
}

public String list() {
loginList=ls.list();
return "LOGIN" ;
}

public String delete() {
ls.delById(lid);
return "LOGIN" ;
}

public String update() {
return "LOGIN" ;
}


/**
* getter and setter
*/
public int getLid() {
return lid;
}

public void setLid(int lid) {
this.lid = lid;
}

public Login getLogin() {
return login;
}

public void setLogin(Login login) {
this.login = login;
}

public List<Login> getLoginList() {
return loginList;
}

public void setLoginList(List<Login> loginList) {
this.loginList = loginList;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}


}


LoginAction-validation.xml 校验器的代码

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<validator type="expression">
<param name="expression">
(password==login.lpassword)
</param>
<message><![CDATA[ confirm must equal to the password ]]></message>
</validator>

<field name="password">
<field-validator type="requiredstring" short-circuit="true">
<message>请确认密码</message>
</field-validator>
</field>

<field name="login">
<field-validator type="visitor">
<param name="appendPrefix">true</param>
<message>login : </message>
</field-validator>


</field>

</validators>



一加入上面的文件就会导致404

Login.java

package grapes.vo;
/**
* @author Andy
* @date 2013-5-13
*/
public class Login {

private int lid ;
private String lusername ;
private String lpassword ;
private int lgrade ;
private String ltime ;

public int getLid() {
return lid;
}
public void setLid(int lid) {
this.lid = lid;
}
public String getLusername() {
return lusername;
}
public void setLusername(String lusername) {
this.lusername = lusername;
}
public String getLpassword() {
return lpassword;
}
public void setLpassword(String lpassword) {
this.lpassword = lpassword;
}
public int getLgrade() {
return lgrade;
}
public void setLgrade(int lgrade) {
this.lgrade = lgrade;
}
public String getLtime() {
return ltime;
}
public void setLtime(String ltime) {
this.ltime = ltime;
}

}


Login-validation.xml

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>
<validator type="requiredstring">
<param name="fieldName">lusername</param>
<message>请输入用户名</message>
</validator>

<validator type="requiredstring">
<param name="fieldName">lpassword</param>
<message>请输入密码</message>
</validator>

<validator type="requiredstring">
<param name="fieldName">lgrade</param>
<message>请选择用户类型</message>
</validator>

</validators>



对应的都有放在对应的包里..
求大神解救
[解决办法]
不用定义return 的url吗?
[解决办法]
extends ActionSupport继承这个类,struts的配置文件内要提供一个name=“error”的result视图。
[解决办法]
2楼说的对,验证框架条件满足 都会掏出异常,然后用过input接收 ,处理。。

读书人网 >J2EE开发

热点推荐