Javascript中的Struts标签

时间:2011-12-06 13:10:02

标签: javascript struts2 tags

您认为更好的做法是什么?

你会(在javascript中):

var aaa = <s:property value="myValue"/>;

或者更确切地说(在jsp文件中):

<s:hidden  name="myValue" id="myValue" />

(在javascript中):

var bbb = document.getElementById("myValue").value;

3 个答案:

答案 0 :(得分:2)

嗯,这取决于我的想法。除非将它们保存为.jsp,否则不能在JS文件中使用struts2标记。如果您这样做或者您的页面中有JS代码,我个人对第一个选项没有问题,因为标签将在服务器上处理回来。当有简单的任务时,我经常使用它 我不喜欢第二种选择,因为它会使代码变得有点丑陋,并可能导致一些维护问题 总结一下,将JS和服务器端代码分开是一种更好的做法。如果你发现自己混淆了什么,你可能想看看你的设计可能会改变的地方。 这又取决于你喜欢的方式。

答案 1 :(得分:1)

你可以用两种方式达到预期的效果。只有个人的品味和偏好才是最重要的。

我不想混淆这些东西,并且会使用隐藏字段的第二种方式。对我来说它有两个目的。

  1. 将我的struts2标记与JavaScript分开。
  2. 更多我可以使用标准的JavaScript方法编写一个简单干净的JavaScript代码,而不是把事情混为一谈

答案 2 :(得分:1)

有很多方法,包括你所展示的内容。

你也可以:

  • 通过JSP处理器传递JavaScript文件
  • 为动态JS使用不同的模板语言(如FreeMarker)
  • 在包含JS文件之前发出评估的JSON对象(例如,隐藏div的内容仅针对JS副作用进行评估)
  • 在功能触发之前,在页面加载时对同一个JSON对象进行Ajax调用

可能还有一些。我不喜欢隐藏的字段,除非它们处于未提交的形式(如隐藏的单独形式),除非非常清楚哪些形式值重要且哪些不重要。