struts2从action中将数据传到jsp中

最直接的是可以通过Action的属性进行传输

            我们在Action中定义了属性,在加载这个页面时指定了调用这个Action中的某个方法,在这个方法中给这些属性直接赋值,这些值默认会加入到值栈中,在jsp页面通过ognl表达式直接获取即可。

public class UserAction {

    private String username;

    private Integer age;

    private boolean valid;

    //查看用户的详细信息

    public String detail(){

       username = "张三";

       age = 18;(这些数据以后肯定是从数据库中获取)

       valid = true;

       return "detail";

    }

Jsp页面获取: 

<%@ page language="Java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="s" uri="/struts-tags" %> 注意导入struts2标签

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <body>

username:<s:property value="username"/> <br/> 和action中的属性值对应

valid:<s:property value="valid"/> <br/>

age:<s:property value="age"/> <br/>

 </body>

</html>

通过ActionContext传输

      actionContext与值栈不同,不过它也可以理解成一个存储数据信息的容器。

  可通过ActionContext.getContext().put()方法来传值

public String detail(){  

       ActionContext.getContext().put("name", "王五");  //此处可以放字符串,同样可以放集合或者数组对象

       username = "张三";

       ActionContext.getContext().put("username", "李四")

       return "detail";

    }

在jsp页面中取:

<!-- 从ActionContext中取name的值 -->

    name: <s:property value="#name"/> <br/>  注意这里从contextAction中取的话需要使用#注明

    name: <s:property value="name"/> <br/>  如果不使用#默认会到值栈中去取数据,如果值栈中没有对应的属性,会到contextAction                                                                         中去找。


通过request/session等传输

可通过ServletActionContext.getRequest()/getSession()等方法来获得request/session对象,然后调用其中的setAttribute()方法来传值。
 

//通过request

       ServletActionContext.getRequest().setAttribute("sex", "男");

      

       //通过session

       ServletActionContext.getRequest().getSession().setAttribute("address", "北京");

      

       //通过session

       ActionContext.getContext().getSession().put("postcode", "1234567");

     在jsp页面中取值

      

 <body>

   

    <!-- 从request中取sex值 -->

    request.sex = <s:property value="#request.sex"/> <br/>

    request.sex = <s:property value="#request['sex']"/> <br/>

   

    <!-- 从session中取值 -->

    session.address = <s:property value="#session.address"/> <br/>

    session.postcode = <s:property value="#session.postcode"/> <br/>

   

    <!-- 依次搜索page/request/session/application scope取值 -->

    attr.postcode=<s:property value="#attr.postcode"/> <br/>

  </body>

传递复杂对象及集合对象

 ActionContext.getContext().put("users", list);

jsp页面中取值

<s:iterator value="#users">

       <!-- 这个访问的是当前循环的user对象中的username属性 -->

       username:<s:property value="username"/>,<s:property value="age"/> <br/>

    </s:iterator>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值