【问题标题】:<s:property/> value in JavaScript giving errorJavaScript 中的 <s:property/> 值给出错误
【发布时间】:2014-05-29 17:28:31
【问题描述】:

我试图在我的 JavaScript 中访问 &lt;s:property value="Names"/&gt; 值,但出现错误。这里的 Names 是一个列表。我也尝试将&lt;s:property value="Names"/&gt; 放入变量中,但它仍然没有转换为数组。不知道我哪里出错了。我已经在 J​​SP 页面中放入了我的 JavaScript。 &lt;s:property value="Names"/&gt; 的评估值是 [abc,xyz]。 帮助表示赞赏! 代码:

<script type="text/JavaScript">
    $(document).ready(function() {
      var temp= new Array();
      temp=<s:property value="Names"/>;

    });
  </script> 

调试时显示:

<script type="text/JavaScript">
        $(document).ready(function() {
          var temp= new Array();
          temp=[xyz,abc];

        });
      </script>

它给出了 xyz 未定义的错误。

【问题讨论】:

  • 如果你不显示你的代码,我不知道你希望别人如何告诉你你做错了什么。
  • 您可以使用列表而不是数组,如果值具有现有转换器支持的类型,它将转换该值。
  • 你必须渲染合法的 JavaScript。如果你想在 JavaScript 中渲染一个字符串数组,那么你需要实际渲染 JavaScript。有许多选项,包括将其转换为 JSON,在这种情况下,它将创建所需的字符串数组。

标签: javascript struts2 ognl


【解决方案1】:

你可以试试这个

< script type="text/JavaScript" >
$(document).ready(function() {
      var temp= new Array();

      <s:iterator id="names" value="names" status="stat">
         temp.push("<s:property/>");
      </s:iterator>
});
< / script>

动作

 private List<String> names;

 @Override
 public String execute() throws Exception {
     names=new ArrayList<String>();
     names.add("xyz");
     names.add("abc");
 }

 public void setNames(List<String> names) {
      this.names = names;
 }

 public List<String> getNames() {
      return names;
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 2013-06-15
    • 2022-01-20
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    相关资源
    最近更新 更多