首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

struts2 validate方法有关问题

2011-12-11 
struts2 validate方法问题我后台Java codepackage com.fw.actionimport java.sql.SQLExceptionimport ja

struts2 validate方法问题
我后台

Java code
package com.fw.action;import java.sql.SQLException;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.fw.beans.User;import com.fw.dao.UserDao;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport{    private UserDao userdao;            public UserDao getUserdao() {        return userdao;    }    public void setUserdao(UserDao userdao) {        this.userdao = userdao;    }    private User user;                public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }                        public void validate() {        if("".equals(user.getUname())){            this.addFieldError("name", "<font color=red>用户名不能为空!</font>");        }        if("".equals(user.getUpass())){            this.addFieldError("upass", "<font color=red>密码不能为空!</font>");        }        super.validate();    }                public String logic(){        /*System.out.println("----------");        User u=new User();        u.setUname("quan");        u.setUpass("lei");        userdao.adduser(u);                        */    /*        User u=userdao.findid(5);        System.out.println(u.getUpass());        */                User u;        try {            u = userdao.login(user.getUname(), user.getUpass());        } catch (Exception e) {            System.out.println("登录失败!");            return null;            //e.printStackTrace();        }        System.out.println("登录成功!");        System.out.println(user.getUname()+"\n"+user.getUpass());        return null;    }            public String findall(){        System.out.println("--------");        List<User> list=userdao.findall();        for (User user : list) {            System.out.println(user.getUname());        }        HttpServletRequest request=ServletActionContext.getRequest();        request.setAttribute("list", list);        return "list";    }}


前台
HTML code
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %><%@ taglib uri="/struts-tags" prefix="s" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title></title></head><body>    <a href="user!logic.action">----</a>    <s:debug></s:debug>    <s:form action="user!logic.action" method="post">       <s:textfield name="user.uname" label="用户名"></s:textfield>    <s:fielderror></s:fielderror>    <s:textfield name="user.upass" label="密码"></s:textfield>        <s:submit value="logic"></s:submit>    </s:form>        <a href="user!findall.action">查询所有</a></body></html>


我查询所有就出错,因为我后台validate()方法user.getUname()为空,我点击查询所有应该我不需要验证了,但是它必须经过验证方法所有出空值异常,如果把验证方法去掉就不出错,我该怎么做?

[解决办法]
List<User> list=userdao.findall();
先判断list有值吗
在设断点看看
[解决办法]
必须用struts验证么?你在前台用js不也行么

热点排行
Bad Request.