簡體   English   中英

JSTL / JSP動態表單頁面狀態

[英]JSTL/JSP dynamic form page state

在大型Web應用程序上工作時,我有很多JSP。 每個JSP包含(僅)一組內部標記,例如:

<AAA:INPUT value="bbb" state="<%=getPageState()"/>

基於getPageState()的返回值,此標記呈現為具有只讀/啟用狀態的HTML輸入字段。

基本上,這使我可以從單個入口點將整個頁面設置為啟用/禁用。

我不喜歡這樣(主要是因為它使我無法編寫所需的HTML,並且我需要為所需的每個HTML屬性維護屬性),我知道我可以在JavaScript方面實現類似的功能。 還有其他方法可以在Web服務器端的單個點上控制完整JSP表單的狀態嗎?

我要解決的方法是將getPageState()方法轉換為標簽,然后在自定義標簽中使用此標簽。 這樣,您無需在每次調用自定義標記時顯式傳遞頁面狀態。

當然,這意味着您必須修改所有自定義標簽才能使用此新標簽,但我認為這比讓代碼中包含明確的調用來獲取頁面狀態更好。 更不用說,如果開發人員忘記檢查頁面狀態,就會出現不一致的情況。

而且,現在有關如何呈現元素的決定取決於自定義標記本身(它所屬的位置)。

我看到的唯一問題是,現在您必須對每個元素進行多次(冗余)調用才能獲取頁面狀態,但效率不高。 要解決此問題,您可以讓您的自定義標簽(獲取頁面狀態)設置一個頁面屬性,並讓您的自定義標簽檢查該頁面屬性,以確定是否應禁用表單元素(另一種方法是創建范圍為AT_END的變量)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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