Struts2 jsp页面和Action之间的传值方式

    xiaoxiao2022-06-30  59

    Action向jsp传值

    首先要在Action中声明所有要传向jsp页面的值的属性 然后生成get、set方法

    UserAction.java

    package cn.qdsoft.actions; import java.sql.Date; import java.util.List; import javax.annotation.Resource; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import cn.qdsoft.BaseAction; import cn.qdsoft.dao.UserDAO; import cn.qdsoft.model.User; import cn.qdsoft.service.UserService; @Namespace("/user") public class UserAction extends BaseAction { // 必须声明为接口类型;important!!! @Resource private UserDAO userDAO; private List<User> userList; private User user; private Long id; private String login; private String name; private String passwd; private int type; private int status; private Date lastLogin; private Date gmtCreate; private Date gmtModified; private int createById; private int lastModifiedById; // 也在一个package中,package的名字不知道 // 父package 名字叫one @Action("list") public String list() { userList = userDAO.findAll(); return SUCCESS; } @Action("delete") public String delete() { System.out.println("user delete............"); Long id = getId(); System.out.println(id); return LIST; } public List<User> getUserList() { return userList; } public void setUserList(List<User> userList) { this.userList = userList; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPasswd() { return passwd; } public void setPasswd(String passwd) { this.passwd = passwd; } public int getType() { return type; } public void setType(int type) { this.type = type; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public Date getLastLogin() { return lastLogin; } public void setLastLogin(Date lastLogin) { this.lastLogin = lastLogin; } public Date getGmtCreate() { return gmtCreate; } public void setGmtCreate(Date gmtCreate) { this.gmtCreate = gmtCreate; } public Date getGmtModified() { return gmtModified; } public void setGmtModified(Date gmtModified) { this.gmtModified = gmtModified; } public int getCreateById() { return createById; } public void setCreateById(int createById) { this.createById = createById; } public int getLastModifiedById() { return lastModifiedById; } public void setLastModifiedById(int lastModifiedById) { this.lastModifiedById = lastModifiedById; } }

    如果在User.java中已有了一下代码

    private Long id; private String login; private String name; private String passwd; private int type; private int status; private Date lastLogin; private Date gmtCreate; private Date gmtModified; private int createById; private int lastModifiedById;

    以及get、set方法就不需要在action中写了,只需要定义private User user;以及user的get、set

    list.jsp

    <%@ page pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table class='table table-bordered table-hover table-striped'> <thead> <tr> <th>序号</th> <th>登录名</th> <th>真实姓名邮件</th> <th>密码</th> <th>类型</th> <th>状态</th> <th>最后登录时间</th> <th>创建时间</th> <th>最后修改时间</th> <th>创建人ID</th> <th>最后更新人ID</th> <th></th> <th></th> </tr> </thead> <tbody> <!-- getUserList() --> <s:iterator value="userList" status="s"> <tr> <td><s:property value="#s.index+1"/></td> <!-- getName() --> <td><s:property value="login" /></td> <td><s:property value="name" /></td> <td><s:property value="passwd" /></td> <td><s:property value="type" /></td> <td><s:property value="status" /></td> <td><s:property value="lastLogin" /></td> <td><s:property value="gmtCreate" /></td> <td><s:property value="gmtModified" /></td> <td><s:property value="createById" /></td> <td><s:property value="lastModifiedById" /></td> <!-- /user/edit.action?id=2&name=tom --> <td><s:a cssClass="ajax-link" action="edit"> <s:param name="id" value="id"/> 修改</s:a> </td> <td><s:a cssClass="ajax-link" action="delete"> <s:param name="id" value="id"/> 删除</s:a> </td> </tr> </s:iterator> </tbody> </table> </body> </html>

    value=”XXX” 是Action中的getXXX()方法 比如<td><s:property value="login" /></td> 就是getLogin()

    jsp向 Action传值

    统一name和value

    struts2 <s:textfield> 标签与<s:property>标签value值设置为action属性值或者对象的属性值 2.<s:textfield> 标签不能直接引用必须通过ognl表达式获取 <s:textfield id="login" name="user.login" cssClass="form-control" value="%{account}" /> <s:textfieldname="personAge" label="年龄" value="%{person.personAge}"/>
    转载请注明原文地址: https://ju.6miu.com/read-1125566.html

    最新回复(0)