我需要使用Struts2 <s:if>
標籤來評估來自不同JSP頁面的函數返回值。使用IF TAG評估Struts2函數
功能是一個類內部實現的,我想在不同的JSP頁面
用法示例:
<s:if test="%isLogin()==true">dosomething</s:if>
我需要使用Struts2 <s:if>
標籤來評估來自不同JSP頁面的函數返回值。使用IF TAG評估Struts2函數
功能是一個類內部實現的,我想在不同的JSP頁面
用法示例:
<s:if test="%isLogin()==true">dosomething</s:if>
<s:if test="%{isLogin()}">dosomething</s:if>
或者更好的是:
<s:if test="%{loggedIn}">doSomething</s:if>
命名事項。
謝謝,我對這個標籤的工作方式有疑問,假設我有一個只包含if/else標籤的jsp頁面,如何調用正確的動作。在我的例子中:如果頁面中沒有表單,系統如何知道去哪個控制器?對於我的情況,如果函數調用的返回值爲false,我想顯示登錄表單。 – bogha
@bogha形式與它無關。動作被壓入值棧中並可在JSP中訪問。操作方法通過OGNL表達式訪問。 –
不要打架和瞭解您的圖書館。
停下來一分鐘,瞭解它是如何工作的。那麼你可能不再需要改變它的行爲,但是如果你願意的話,你會知道如何以正確的方式去做。
如果事情是常見的很多動作/ JSP的和這是VIEW的東西(如提供必須在每一頁上繪製數據),然後把它放在一個BaseAction,並從其他擴展它動作。
如果事情是常見的很多動作/ JSP的和是企業的東西(如檢查,如果用戶登錄或不),做服務器端,with an an Interceptor。
不要把邏輯放在JSP中,在這種情況下甚至不能使用JSP。
一些有用的讀數:
但我認爲整個Struts2的文檔中深潛......你會得到更好的代碼,並會在fe後節省大量時間w days ...
你可以把你的方法放在基類動作類中,所有你的動作類將會擴展。但是最好把這種邏輯放入攔截器中。 –