java - 将表值传递给操作类

标签 java javascript struts

在我的一个网页中,有一个 HTML 表格。该表将有 0 行或更多行,每行有 3 列。

看起来像这样:

<table>
    <tr>
        <td>Row1-Col1</td> 
        <td>Row1-Col2</td>
        <td>Row1-Col1</td>
    </tr>
    <tr>
        <td>Row2-Col1</td> 
        <td>Row2-Col2</td>
        <td>Row3-Col1</td>
    </tr>
</table>

我想将列的值(td 的内容)传输到 Action 类。

有没有办法

  1. 获取表格中的行数
  2. 使用 JavaScript 传输值以及如何在我的操作类中获取它们

顺便说一句,Struts 2。

谢谢

最佳答案

我猜,可能的解决方案之一是,您在迭代器中拥有这些行......

所以 JSP 看起来像这样:

<s:form action="myAction">
<table>
    <s:iterator value="someCollection" status="stat">
        <!-- set id of column -->
        <tr id="myTd<s:property value="#stat.index" />">
            <td>some html</td>
        </tr>
    </s:iterator>
</table>
<s:hidden name="lastIndex" />
<s:hidden name="htmlValues" />
<s:submit onclick="submitValues();">
</s:form>

JS文件:

function submitValues() {
     var htmlValue;
     int i = 0;
     while(document.getElementById('myId'+i)) {
         htmlValue += document.getElementById('myId'+i).innerHTML;
         i++;
     }
     document.getElementyById('lastIndex').value = i;
     document.getElementyById('htmlValues').value = htmlValue;
}

Action 类:

public MyAction extends ActionSupport {
    private Integer lastIndex;
    private String htmlValues;

    public String execute() {
         //here there should be values filled
         System.out.println(getLastIndex);
    }
}

我没有对此进行测试,所以可能会有错误,但主要思想已显示。当然,你会以html形式进入action类中的htmlValues,但是那里有很多html解析。

关于java - 将表值传递给操作类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653829/

相关文章:

java - 如何按出现顺序创建 Java 文档?

javascript - GA GEO 图表城市标记不正确

java - 数据输出流到数组

java - 如何从列出的大查询作业中获取查询?

java - 正则表达式检查包含空格和特殊字符的字符串

javascript - ng-包括 : How can I maintain data in $scope after changing views?

DotNetNuke 6.1.3 中的 Javascript

java - 逻辑迭代排序选项

java - JSP 表单和 Struts 1

java - Struts 2 中的 TagUtils.getInstance().lookup() Struts1 的等效项