簡體   English   中英

Java EE在scriptlet中沒有文本字段嗎?

[英]Does Java EE not have text fields in scriptlets?

因此,我一直在網上徘徊一段時間以尋找答案。 是否沒有辦法在JSP的Java腳本中包含文本字段? 我知道在C#中您可以擁有

@Html.TextField();

這將創建一個文本字段供您用作C#代碼。

我之所以這么想,是因為我正在抓取一個會話並檢查user屬性是否存儲了用戶名。 如果不是,我不希望它顯示用戶名文本框。 雖然從我可以告訴我的角度來看,我無法使用Java scriptlet做到這一點。

<%if(session.getAttribute("user") == null) %>
Username: <input type="text" name="name"><br/>

有什么我想念的嗎?

這將起作用,但是最好使用JavaServer Pages標准標記庫表達式語言
而不是腳本。 這會使JSP頁面的維護復雜化。

您可以在JSP頁面上設置范圍變量。 以這種方式:

<c:set var="myVariable" scope="page" value="expression"/>

借助帶有EL的JSTL,可以輕松解決您的情況:

<c:if test="${sessionScope.user eq null}">
   <c:out value="Username: ${myVariable}" />
</c:if>

如果您有更復雜的邏輯,那么創建自定義標簽是有意義的。

暫無
暫無

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

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