![](/img/trans.png)
[英]How to set Struts2 Property as Parameter of a JavaScript function?
[英]Struts2 parameter to javascript
我有一個帶有字段的struts2動作: private Long omradeId;
該領域有一個吸氣劑。
該動作被發送到一個jsp,並且在該jsp中,我可以使用<s:property>
標簽訪問該字段。 很好。
現在,我在jsp中也有一個部分,其中定義了<script>
。 在該腳本中,我想創建一個變量,該變量將使用上述struts2字段作為值來構建URL。
<script type="text/javascript">
var url = "/path/to/action?parameter1=";
</script>
如何將omradeId的值放在等號(=)后? 我嘗試使用<s:property>
但是沒有用。 有什么建議么?
“ / path / to”將根據Web服務器而變化。 為了避免這種情況,請使用struts2網址標簽。
參見: http : //struts.apache.org/2.x/docs/url.html
對於名稱空間“ /”中名為參數“ parameter1”且值為omradeId的動作“ action”,您可以簡單地說:
<s:url namespace="/" action="action">
<param name="parameter1" value="%{omradeId}"/>
</s:url>
將以上內容放入JS變量中:
var url = "<s:url action="action"><param name="parameter1" value="%{omradeId}"/></s:url>";
使用以上內容將意味着您的應用程序可以安裝在不同的應用程序服務器上而無需更改。
格式化xml比內聯更好,如果使用很多參數將var參數添加到s:url標記中以為其命名,然后可以使用s:property標記在許多地方引用此字符串,則可以保留所有內容清潔。
<s:url namespace="/" action="action" var="myString">
<param name="parameter1" value="%{omradeId}"/>
</s:url>
var url = "<s:property value="#myString"/>";
這應該工作:
<script type="text/javascript">
var url = "/path/to/action?parameter1=<s:property value="omradeId">";
</script>
如果不是,則應檢查該值是否不為null並在操作類中成功設置該值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.