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