Struts2里面Action访问页面Web元素的问题?
一共有四种方法,我想知道为什么下面这种方法是最常用的?首先在Action里面声明私有成员变量:privateMaprequest;privateMapsession;pr...
一共有四种方法,我想知道为什么下面这种方法是最常用的?首先在Action里面声明私有成员变量:privateMap request;privateMap session;privateMap application; 构造方法中取得值:publicLoginAction1() {request = (Map)ActinContext.getContext().get("request");session = ActionContext.getContext().getSession();application = ActionContext.getContext().getApplication();}public String execute() { request.put("name","ijse"); session.put("age","21"); application.put("qq","1234567");}借这个问题,还想知道,搜搜问问里面有没有高手存在?
展开
3个回答
展开全部
首先。你的action有问题。
list不应该是方法体里的变量,list需要有get set 方法。这样jsp页面会取不到值。改成下面这样(我就不写get set方法了。你自己加):
public class A extends ActionSupport
{
Private String username;
Private String password;
Private List list ;
username与password相应的get set方法;
public String execute()
{
list = 这里调用了一个java类,到了一LIST类的
//
//请教这里面应该怎么写才能把在上面得到的list类传到jsp页面上去
//成功转到yes.jsp
}
}
在JSP页面的<@page>标签下面加一个
<@ taglib prefix="s" uri="/struts-tags" >标签包(关于这个标签包的配置和使用建议到网上搜索看看),然后
yes.jsp写法。
<s:iterator value="list" id="item">
<s:property value='item'/>
</s:iterator>
这里面item对应着list里的每个元素。
如果item 是对象(如是People对象且People有一个name属性)则可以写成下这样。
<s:iterator value="list" id="item">
<s:property value='#item.name'/>
</s:iterator>
list不应该是方法体里的变量,list需要有get set 方法。这样jsp页面会取不到值。改成下面这样(我就不写get set方法了。你自己加):
public class A extends ActionSupport
{
Private String username;
Private String password;
Private List list ;
username与password相应的get set方法;
public String execute()
{
list = 这里调用了一个java类,到了一LIST类的
//
//请教这里面应该怎么写才能把在上面得到的list类传到jsp页面上去
//成功转到yes.jsp
}
}
在JSP页面的<@page>标签下面加一个
<@ taglib prefix="s" uri="/struts-tags" >标签包(关于这个标签包的配置和使用建议到网上搜索看看),然后
yes.jsp写法。
<s:iterator value="list" id="item">
<s:property value='item'/>
</s:iterator>
这里面item对应着list里的每个元素。
如果item 是对象(如是People对象且People有一个name属性)则可以写成下这样。
<s:iterator value="list" id="item">
<s:property value='#item.name'/>
</s:iterator>
展开全部
这种方法比较简单,另外一种就是action类implements ServletResponseAware,ServletContextAware,ServletRequestAware这几个接口,不过这种太麻烦了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
request = (Map)ActinContext.getContext().get("request"); request.put("name","ijse"); 这种方式是常用的
,同时常用的是私有对象封装set get 方法实现前端页面提交后赋值 比如你有一个类(User)里面有 uname ,upwd两个属性 那你在action里面声明
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user= user;
}
页面表单只需要把写两个 <input> name 属性分别写为 user.uname ,user.upwd 提交到action中时user对象将被自动创建,并为其中的uname,upwd两个属性赋值
这是在struts2中常用的formbean手段
,同时常用的是私有对象封装set get 方法实现前端页面提交后赋值 比如你有一个类(User)里面有 uname ,upwd两个属性 那你在action里面声明
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user= user;
}
页面表单只需要把写两个 <input> name 属性分别写为 user.uname ,user.upwd 提交到action中时user对象将被自动创建,并为其中的uname,upwd两个属性赋值
这是在struts2中常用的formbean手段
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询