0
如何将数据从动作类转移到struts2中的Jsp页面。 任何类型的堆栈在将其控件传递给jsp页面之前都是在动作类中构建的,或者有其他机制用于此目的。如何将数据从动作类转移到struts2中的Jsp页面
如何将数据从动作类转移到struts2中的Jsp页面。 任何类型的堆栈在将其控件传递给jsp页面之前都是在动作类中构建的,或者有其他机制用于此目的。如何将数据从动作类转移到struts2中的Jsp页面
Anshul,
你有一些正确的东西在你的implementation.For Struts2中,我们可以看到它在下列方式
值栈是一个虚拟的堆栈在Struts2框架和一个中心位置,所有与请求处理相关的数据将由Framework放置。在Struts2中,Action也被视为一个数据载体,所以到底发生了什么事情是什么时候行动完成了它的工作,它被放在价值堆栈的顶端。
让我们有这样的事情在行动
public class MyAction extends ActionSupport{
private String firstname;
private String lastname;
public void setFirstName(firstname){
this.firstname=firstname
}
public void setLastName(lastname){
this.lastname=lastname
}
public String getFirstName(){
return firstname;
}
public String geLastName(){
return lastname;
}
public String execute() throws Exception{
//action logic filling first name and last name from database etc.
return SUCCESS;
}
}
现在当行动将逻辑框架后返回将放置操作实例价值栈和firstname
和lastname
的顶部将在它的顶部。
so now when we try to access these values in jsp something like
<s:textfield name="firstname" value= "%{firstname}"/>
这里(%{firstname}) OGNL
将进来的地方,它会尝试看看是否有与名称firstname
值栈的属性,因为行动是价值堆栈的顶部,并在它的属性名称firstname
所以OGNL会找到它。
我希望这会帮助你
感谢您给我更多关于价值堆栈的想法。但有时当我使用OGNL表达式时,它不会打印值堆栈的值。像
这在某些情况下不起作用,并且它通过使用– Anshul 2011-03-24 09:03:55是的!默认情况下值是放在值栈上,但你可以把值放在session,attribute等中,这样如果值没有存储在值栈中但是属性den value =“%{firstname}”/>将不起作用,因为它只是解决价值堆栈,所以我们需要告诉OGNL在哪里尝试找到valuestack旁边的数据值。希望它会给你想法 – 2011-03-24 09:09:58