zoukankan      html  css  js  c++  java
  • structs 2 学习总结(一)

          转发请注明出处

     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")%>

    此处还用到过滤器

  • 相关阅读:
    第二个月课堂004讲解python之实战之元组(003)_高级讲师肖sir
    第二个月课堂004讲解python之实战之列表(002)_高级讲师肖sir
    多测师课堂_mysql之报错日志(001)高级讲师肖sir
    多测师课堂012_mysql之存储过程(练习和答案)高级讲师肖sir
    linux alias 命令 查看系统设置的命令别名
    前端 CSS 介绍
    前端 CSS语法
    前端 CSS 注释
    前端 CSS 目录
    linux echo 命令 打印字符串
  • 原文地址:https://www.cnblogs.com/elenz/p/5971095.html
Copyright © 2011-2022 走看看