我用的是struts2 action中有参数message(action中有对应的get方法) 成功登陆后页面中我用${message}来显示登陆成功的信息 可是发现都接收不到 希望高手能够帮忙解决下!
这是我的action
package action;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import manager.UserManager;
import model.User;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport{ private String username;
private String password;
private UserManager userManager;
private String message;
private User user; public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getMessage() {
return message;
}
public User getUser() {
return user;
}
public String login()
{
User user = userManager.login(username, password);
if (user==null) {
message="用户名或密码错误";
return INPUT;
}
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("user", user);
this.user= user;
return SUCCESS;
}
}
这是我的struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="user" namespace="/user" extends="struts-default">
<action name="login" class="userAction" method="login">
<result name="success" > /user/success.jsp</result>
<result name="input" >/login.jsp</result>
</action>
</package>
</struts>
这是我的action
package action;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import manager.UserManager;
import model.User;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport{ private String username;
private String password;
private UserManager userManager;
private String message;
private User user; public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getMessage() {
return message;
}
public User getUser() {
return user;
}
public String login()
{
User user = userManager.login(username, password);
if (user==null) {
message="用户名或密码错误";
return INPUT;
}
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("user", user);
this.user= user;
return SUCCESS;
}
}
这是我的struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<package name="user" namespace="/user" extends="struts-default">
<action name="login" class="userAction" method="login">
<result name="success" > /user/success.jsp</result>
<result name="input" >/login.jsp</result>
</action>
</package>
</struts>
解决方案 »
- hibernate4 -----AnnotationConfiguration类过期
- 如何让hibernate配置文件中的连接数据库的用户名和密码和我自己写的JDBC数据库配置文件一样呢?
- 求教Hibernate排序和分页的问题!
- tomcat 用jdbc连接oracle 很慢.
- JMS消息怎样过滤
- 请教一个关于axis应用的难问题
- JBuilder中如何不必每次调试都启动一次Weblogic服务
- 求医院排队系统的一切资料!
- 有做过pure java (纯java)的朋友么?给点参考经验阿 谢谢了
- java 如何解析 xml?
- httpclient 登陆163问题
- strust2中怎样取出session中的对象
session.setAttribute("user", user);
this.user= user;
return SUCCESS;你成功登录,没给message赋值吧
<property value="message" />来显示出错信息即可
你必须使用OGNL表达式才可以获取到message,或者是struts2的标签。
public String login()
{
User user = userManager.login(username, password);
if (user==null) {
message="用户名或密码错误";
return INPUT;
}
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("user", user);
this.user= user;
return SUCCESS;
}你这里面登录成功后都没给message赋值啊,只有在登录失败(user==null)的时候才赋值
{
User user = userManager.login(username, password);
if (user==null) {
message="用户名或密码错误"; //登陆出错时给message赋值
return INPUT;
}else{
message = "成功登陆"; //登陆成功时给message赋值,赋值以后在JSP里才能有值
}
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("user", user);
this.user= user;
return SUCCESS;
}
}