簡體   English   中英

數據如何從動作類傳輸到Struts2中的Jsp頁面

[英]How the data transfer from the action class to Jsp page in struts2

數據如何從動作類傳輸到struts2中的Jsp頁面。 在將操作控制權轉移到jsp頁面之前,是否在操作類內部構建了任何類型的堆棧,或者為此使用了其他機制。

Anshul,

您的實現是正確的。對於Struts2,我們可以通過以下方式看到它

  1. 值棧
  2. OGNL

值堆棧是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;
 }
}

現在,當操作返回時,邏輯框架會將操作實例放置在值堆棧的頂部,而firstnamelastname將位於其頂部。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM