login.jsp ---------登陆页面
<s:form action="validation" method="post">
<s:textfield label="用户名" name="user.username" />
<s:password label="密码" name="user.password" />
<tr>
<td><s:submit value="登陆" method="validation" theme="simple" /></td>
<td><s:a href="../register/register.jsp" theme="simple">注册</s:a></td>
</tr>
</s:form>struts.xml ---------struts里面的validation配置
<action name="validation" class="struts2.action.userAction" method="validation">
<result name="success">/user/success.jsp</result>
<result name="error">/user/error.jsp</result>
</action>userAction.java --------validation的代码
public String validation() throws Exception
{
boolean validate = DAOFactory.getInstance().getUserDAO().validate(username, password);
if(validate)
{
return SUCCESS;
}else
{
return ERROR;
}userDao.java ---------DAO的验证代码
public boolean validate(String username, String password)
{
String sql = "from User u where u.username = ? and u.password = ?";
Query query = getSession().createQuery(sql);
query.setString(0, username);
query.setString(1, password);
List list = query.list(); if(null == list || 0 == list.size())
{
return false;
}else
{
return true;
}
}我只发出关键代码,如上面的,情况是这样,我在userDAO里面用主函数去使用验证代码是没有问题的,完全正常,但是我在用login.jsp提交给action处理时,返回的validate布尔值却是false,使用了很多方法就是不明白哪里出问题,已经蛋疼小弟很多天了,跪求各位大神帮帮小弟,需要其他代码的小弟马上补上
<s:form action="validation" method="post">
<s:textfield label="用户名" name="user.username" />
<s:password label="密码" name="user.password" />
<tr>
<td><s:submit value="登陆" method="validation" theme="simple" /></td>
<td><s:a href="../register/register.jsp" theme="simple">注册</s:a></td>
</tr>
</s:form>struts.xml ---------struts里面的validation配置
<action name="validation" class="struts2.action.userAction" method="validation">
<result name="success">/user/success.jsp</result>
<result name="error">/user/error.jsp</result>
</action>userAction.java --------validation的代码
public String validation() throws Exception
{
boolean validate = DAOFactory.getInstance().getUserDAO().validate(username, password);
if(validate)
{
return SUCCESS;
}else
{
return ERROR;
}userDao.java ---------DAO的验证代码
public boolean validate(String username, String password)
{
String sql = "from User u where u.username = ? and u.password = ?";
Query query = getSession().createQuery(sql);
query.setString(0, username);
query.setString(1, password);
List list = query.list(); if(null == list || 0 == list.size())
{
return false;
}else
{
return true;
}
}我只发出关键代码,如上面的,情况是这样,我在userDAO里面用主函数去使用验证代码是没有问题的,完全正常,但是我在用login.jsp提交给action处理时,返回的validate布尔值却是false,使用了很多方法就是不明白哪里出问题,已经蛋疼小弟很多天了,跪求各位大神帮帮小弟,需要其他代码的小弟马上补上
public boolean validate(String username, String password)
{
String sql = "from User u where u.username = ? and u.password = ?";
Query query = getSession().createQuery(sql);
query.setString(0, username);
query.setString(1, password);
List list = query.list();if(null == list || 0 == list.size())
{
return false;
}else
{
return true;
}
}我做的话是
userDao.java ---------DAO的验证代码
public boolean validate(String username, String password)
{
String sql = "from User u where u.username = ?";
Query query = getSession().createQuery(sql);
query.setString(0, username);
List list = query.list();接着验证密码 你试试
}