从struts2中的jsp页面调用action类中的方法

时间:2013-06-13 19:38:09

标签: jsp struts2 struts

我编写了以下代码,将变量artpsMstId传递给javascript函数,然后根据该变量更新存储的记录:

在JSP中:

    <td>
     <a href="javascript:fnUpdate('<s:property value="artpsMstId" />');">testupdate</a>
    </td>

<script type="text/javascript">
function fnUpdate(id)
{
    <s:url action='updateServiceDetails'></s:url>
    document.forms[0].artpsMstId.value=id;
    document.forms[0].submit();
}
</script>

在struts.xml中:

<action name="updateServiceDetails" class="com.stp.portal.view.SearchServicePortlet" method="updateServiceDetails">
            <result name="success">/WEB-INF/view/ServiceSubmitPage.jsp</result>         
        </action>

我已在updateServiceDetails中定义了函数SearchServicePortlet.java。 但是流程没有进入SearchServicePortlet.java。我真的很感激,如果有人能帮助我...谢谢

---- ----- EDITED

这基本上是我想做的事情

<s:form action="updateServiceDetails" method="POST" theme="simple" >
<tr>
    <td>
        FirstName
    </td>
    <td>
        LastName
    </td>
    <td>
        Edit
    </td>
</tr>
<s:iterator value="resultList" >
<tr>
    <td align="center">
        <s:textfield name="firstName" />
    </td>
    <td align="center">
        <s:textfield name="lastName" />
    </td>
    <td>
        Edit
    </td>
    <td align="center">
        <a href="javascript:fnUpdate('<s:property value="artpsMstId" />');">testupdate</a>
    </td>
</tr>
</s:iterator>
</s:form>

上面的代码显示了一个列表,其中包含名字和姓氏以及每行的编辑选项。现在我想在javascript中调用函数fnUpdate() 我可以分别编辑和保存每一行。这是我基本上需要做的。

1 个答案:

答案 0 :(得分:0)

而不是在整个表格上形成,只需要有单独的表格并点击表格中的链接,调用javascript函数提交该单独的表格,

尝试以下代码, 在jsp中,

<form name="updateServiceDetailForm">
<input type="hidden" name="artpsMstId"/>
</form>
<table>
<tr>
    <td>
        FirstName
    </td>
    <td>
        LastName
    </td>
    <td>
        Edit
    </td>
</tr>
<s:iterator value="resultList" >
<tr>
    <td align="center">
        <s:textfield name="firstName" />
    </td>
    <td align="center">
        <s:textfield name="lastName" />
    </td>
    <td>
        Edit
    </td>
    <td align="center">
        <a href="javascript:fnUpdate('%{artpsMstId}');">testupdate</a>
    </td>
</tr>
</table>

在javascript中,

function fnUpdate(artpsMstId) {
    document.forms.updateServiceDetailForm.action = "updateServiceDetails.action";
    document.forms.updateServiceDetailForm.method = "post";
    document.forms.updateServiceDetailForm.artpsMstId.value = artpsMstId;
    document.forms.updateServiceDetailForm.submit();
}