簡體   English   中英

如何將Javascript變量傳遞給<jsp:setProperty>和JSTL?

[英]How do I pass Javascript variable to <jsp:setProperty> and JSTL?

如何將Javascript變量傳遞給JSTL?

<script>

    var name = "john";  

    <jsp:setProperty name="emp" property="firstName" value=" "/>   // How do I set javascript variable(name) value here ?

    <c:set var="firstName" value=""/>  // How do I set javascript variable (name) value here ?     

  </script>

您需要將其作為請求參數發送。 其中一種方法是填充隱藏的輸入字段。

<script>document.getElementById('firstName').value = 'john';</script>
<input type="hidden" id="firstName" name="firstName">

這樣,您可以在提交表單時將其作為請求參數在服務器端獲取。

<jsp:setProperty name="emp" property="firstName" value="${param.firstName}" />

另一種方法是使用Ajax,但這本身就是一個全新的故事/答案。

也可以看看:

如果您似乎無法找到之前提出的問題,請轉到您的用戶個人資料

AFAIK你不能以這種方式從JavaScript向JSTL發送數據。 因為JSTL標記是在服務器端處理的,所以<jsp:>標記將在服務器上解析並由HTML替換。 所以<jsp:>標簽不會是發送回客戶端的響應的一部分; 它只包含HTML /文本。 因此,您無法從JavaScript訪問<jsp:>標記,因為它們不會存在於文檔中。

編輯:抱歉, <jsp:>標簽不可見。

<script>
var name = "<jsp:getProperty name="emp" property="firstName" />";
</script>

JSP代碼在JavaScript之前執行,因此在處理JavaScript時,標記將被替換為emp.firstName的內容。

暫無
暫無

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

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