struts2中jsp与action中如何传递参数
struts2中jsp与action中怎么传递参数
jsp页面
<dd>
<s:a href="mailList.action?rname=#session.user.name" target="mainFrame">收邮件</s:a>
</dd>
部分代码
public class MailAction extends ActionSupport{
private List<Mail> mailList;
private MailServiceImpl mailService;
private String rname;
public String getRname() {
return rname;
}
public void setRname(String rname) {
this.rname = rname;
}
public String mailListAction(){
System.out.println("用户名为"+rname);
System.out.println("调用mailaction");
List<Mail> mailList=mailService.MailList(rname);
System.out.println(mailList.size());
if(mailList.size()>0){
return "success";
}else{
return "fail";
}
}
跳到方法中,rname取不到值,jsp中的#session.user.name是有值的;
------解决思路----------------------
如果你真的有进入action的方法中是肯定有值的只是值就是"#session.user.name"这个字符串,而不是从session中取user的name值,你要想从session中取user 的name值应该把#session.user.name变成%{#session.user.name}
jsp页面
<dd>
<s:a href="mailList.action?rname=#session.user.name" target="mainFrame">收邮件</s:a>
</dd>
部分代码
public class MailAction extends ActionSupport{
private List<Mail> mailList;
private MailServiceImpl mailService;
private String rname;
public String getRname() {
return rname;
}
public void setRname(String rname) {
this.rname = rname;
}
public String mailListAction(){
System.out.println("用户名为"+rname);
System.out.println("调用mailaction");
List<Mail> mailList=mailService.MailList(rname);
System.out.println(mailList.size());
if(mailList.size()>0){
return "success";
}else{
return "fail";
}
}
跳到方法中,rname取不到值,jsp中的#session.user.name是有值的;
------解决思路----------------------
如果你真的有进入action的方法中是肯定有值的只是值就是"#session.user.name"这个字符串,而不是从session中取user的name值,你要想从session中取user 的name值应该把#session.user.name变成%{#session.user.name}