struts2传参问题,以及接收时间参数

实训做了一个s2sh项目有些知识盲点,struts2的action传参机制是:参数从jsp(也可以是其他前端页面如HTML)页面发送到后台action,在到达action前,会经过struts2本身的各种过滤器进行筛选过滤,这个过程会报错,导致action接收不到参数,例如时间类参数,从页面传来的参数都为字符串类型。需要struts2的过滤器进行解析,如果struts2的过滤器识别不了页面传来的字符串格式,就无法解析,如struts2只能识别(2017-03-33  34:23:56)这一种时间格式,其他传来的格式struts2无法解析,这时候就只能自己将数据解析成struts2识别的格式,再赋值给action中的Date类型的参数。
当在action获取数据,想要将其传到要转到的页面时,需要action中有这个参数的get和set方法,然后struts2会自动将数据传到要转到的页面,在页面用EL表达式获取数据。
例如:有一个action
    @@Autowired
    private PersonService perosnService;
    private List<Person> personlist;

 @Action(value="home",results={@Result(name="success",location="/WEB-      INF/jsp/manager/manager_home.jsp")})
    public String home(){
        personlist=personService.findAll();
        return SUCCESS;
    }

如上代码,在action中获取了person表中所有的数据,如何将personlist这个参数传到要转到的页面呢?
很简单,只要有personlist的get和set方法就行了,struts2会将action中的数据全都自动传到要转的页面
,在页面中可以直接用${ personlist}获取,personlist代表的是 getPersonlist()方法
完整的代码应该是这样的:

@Autowired
    private PersonService perosnService;
    private List<Person> personlist;

 @Action(value="home",results={@Result(name="success",location="/WEB-      INF/jsp/manager/manager_home.jsp")})
    public String home(){
        personlist=personService.findAll();
        return SUCCESS;
    }


public List<personlist> getPersonlist() {
        return personlist;
    }
    public void setPersonlist(List<Person> personlist) {
        this.personlist = personist;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值