Struts2 参数传递给 JavaScript

发布于 2024-11-28 16:45:56 字数 492 浏览 0 评论 0原文

我有一个带有字段的 struts2 操作:private Long omradeId; 该场有一个吸气剂。

该操作被发送到 jsp,在该 jsp 中我可以使用 标记访问该字段。这一切都很好。

现在,我在 jsp 中也有一个定义

<script type="text/javascript">
var url = "/path/to/action?parameter1=";
</script>

如何将 omradeId 的值放在等号 (=) 后面?我尝试使用 但这不起作用。 有什么建议吗?

I have a struts2 action with a field: private Long omradeId;
The field has a getter.

The action is sent to a jsp and within that jsp i can access the field using <s:property>tag. Thats all good.

Now i also have within the jsp a section where i define a <script>. Within that script i would like to create a variable that will build a url with the above mentioned struts2 field as a value.

<script type="text/javascript">
var url = "/path/to/action?parameter1=";
</script>

How can i put the value of omradeId after the equals (=) sign? I tried using <s:property>but that did not work.
Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心安伴我暖 2024-12-05 16:45:56

“/path/to”将根据网络服务器而变化。为了避免这种情况,请使用 struts2 url 标签。

请参阅: http://struts.apache.org/2.x/docs/url .html

对于名称空间“/”中名为“action”的操作,其参数名为parameter1,其值为 omradeId,您只需说:

<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"/>";

"/path/to" will change depending on the web server. To avoid this use the struts2 url tag.

See: http://struts.apache.org/2.x/docs/url.html

For an action called "action" in namespace "/" with a parameter called parameter1 having the value omradeId, you would simply say:

<s:url namespace="/" action="action">
  <param name="parameter1" value="%{omradeId}"/>
</s:url>

putting the above into the JS variable we have:

var url = "<s:url action="action"><param name="parameter1" value="%{omradeId}"/></s:url>";

Using the above will mean your application can be installed on different application servers without change.

Having formated xml is nicer than inline, if using a lot of parameters adding the var parameter to the s:url tag to give it a name and then you can reference this string in a number of places with the s:property tag would keep things clean.

<s:url namespace="/" action="action" var="myString">
  <param name="parameter1" value="%{omradeId}"/>
</s:url>

var url = "<s:property value="#myString"/>";
变身佩奇 2024-12-05 16:45:56

这应该有效:

<script type="text/javascript">
var url = "/path/to/action?parameter1=<s:property value="omradeId">";
</script>

如果没有,您应该检查该值是否不为空并且该值是否在您的操作类中成功设置。

This should work:

<script type="text/javascript">
var url = "/path/to/action?parameter1=<s:property value="omradeId">";
</script>

If not you should check if the value is not null and value is successfully set in your action class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文