转发请注明出处

 1.页面传值。

传值

 前台

    <s:form action="login1">//action 名字 需要在structs配置
        用户<s:textfield name="user.userName" type="text"/>//传对象
        <s:textfield name="user.password" key="pass" />//传对象
        <s:textfield name="password" key="pass" />//传值
        <s:submit key="login" /> 
    </s:form>

 

配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

    <package name="userManager" namespace="/" extends="struts-default">


<!-- //登录 -->
        <action name="login1" class="action.LoginAction" method="login">
            <result name="success">/loginuser.jsp</result>
            <result name="loginout">/adetails.jsp</result>
        </action>
        <!-- //登出 -->
        <action name="loginout" class="action.LoginAction" method="loginout">
            <result name="success">/login.jsp</result>
            <result name="loginout">/adetails.jsp</result>
        </action>
</package>
</struts>

后台类

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import bean.User;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
  
    private String userName;
    private String password;
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    
    //与前台页面name="password" 一致
    public void setPassword(String password) {
        this.password = password;
    }
// 此处用于传对象
private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; //structs 把对应的值放到对象,在这里获取 user.userName,user.password 在这里把对象赋值,下面才可以调用
}
public String login(){ HttpServletRequest request = ServletActionContext.getRequest(); System.out.println("111"); System.out.print(user); request.getSession().setAttribute("username", user.getUserName()); request.getSession().setAttribute("user", user); System.out.println(user.getUserName()); return "success"; } public String loginout(){ HttpServletRequest request = ServletActionContext.getRequest(); request.getSession().setAttribute("username", ""); /* HttpServletRequest request = ServletActionContext.getRequest(); request.getSession().setAttribute("username", user.getUserName()); 或者 把Username 设置为空 */ return "success"; } }

前台页面 

 

 

<%@taglib prefix="s" uri="/struts-tags"%>

<body>
  <s:a href="loginout.action">登出
  </s:a>
  
   用户名:<s:property value="user.userName" />
    密码:<s:property value="user.password"/>
    <s:property value="password"/>
    
    值:
    <br>
  用struts标签: <s:property value="#session.username" />
  <br>
用EL表达式:${session.username}
<br>
用java代码:<%=session.getAttribute("username")%>
<br>

 对象
 <br>
   用struts标签: <s:property value="#session.user.userName" />
  <br>
用EL表达式:${session.user.password}
<br>
用java代码:<%=session.getAttribute("user")%>

 

 

此处还用到过滤器

 

posted on 2016-10-17 20:18  艾恩格朗特  阅读(183)  评论(0编辑  收藏  举报