[英]How the data transfer from the action class to Jsp page in struts2
數據如何從動作類傳輸到struts2中的Jsp頁面。 在將操作控制權轉移到jsp頁面之前,是否在操作類內部構建了任何類型的堆棧,或者為此使用了其他機制。
Anshul,
您的實現是正確的。對於Struts2,我們可以通過以下方式看到它
值堆棧是Struts2框架中的虛擬堆棧,是框架將所有與請求處理相關的數據放置在其中的中心位置。在Struts2中,動作也被視為數據載體,因此實際發生的是動作完成時它被放置在價值棧的頂部。
讓我們在行動中擁有類似的東西
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將找到它。
我希望這能幫到您
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.