java - struts2变量仅在javascript中被调用一次

标签 java javascript html struts2 tags

我的操作类有一个方法,每次调用该方法时都会增加索引。

private int index = -1;
public String getName() {
    setIndex();
    return myDataSet.elementAt(getIndex()).toString();
}

public void setIndex() {this.index = index+1;}

public int getIndex() {return index;}

我用struts标签调用这个方法

<s:property value="name" />

当它是静态 html 时它工作正常。但是当我在循环中使用 javascript document.write 时,它​​只会在第一次被调用,然后每次都使用该值。

function drawNameList(){
    for(var i = 0; i < numbOfNames; i++)
    {
        document.write('<s:property value="name" />');
    }
}

有办法解决这个问题吗?

最佳答案

请考虑客户端浏览器中解释的内容(javascript)以及服务器中要填写的模板(struts 2 标签)

您的<s:property value="name" />在您的服务器应用程序中仅评估一次。然后渲染一个 HTML 页面并将其发送到客户端,该值已经被替换(假设它的值是“Stackoverflow”)。这是对您的方法的唯一调用。

一旦到达客户端浏览器,JavaScript 引擎就会执行 document.write('Stackoverflow')根据需要多次分段,但不会与服务器进一步通信,也不会调用您的方法。

关于java - struts2变量仅在javascript中被调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998271/

相关文章:

PHP 使用默认邮件客户端打开新电子邮件

html - 样式跨越多行

java - Jmeter - 如何实现另一个java类

javascript - 防止 Phonegap notification.navigator 弹出窗口因对话框外的触摸而关闭

javascript - 需要一个允许所有特殊字符的密码验证正则表达式

javascript - 如果将包含 Controller 代码的 javaScript 动态添加到 HTML dom,则 Controller 不会加载

java - JLayeredPane 不更新 JLabel 的移动

java - 在 Java 中使用随机枢轴进行快速排序

Java 线程问题 - 更新 GUI

javascript - 需要图片跨越容器高度