![](/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.