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

从struts2中的jsp页面调用action类中的方法,jsp,struts2,struts,Jsp,Struts2,Struts,我编写了以下代码,将变量artpsMstId传递给javascript函数,然后根据该变量更新存储的记录: 在JSP中: <td> <a href="javascript:fnUpdate('<s:property value="artpsMstId" />');">testupdate</a> </td> <script type="text/javascript"> function fnUp

我编写了以下代码,将变量
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>
<action name="updateServiceDetails" class="com.stp.portal.view.SearchServicePortlet" method="updateServiceDetails">
            <result name="success">/WEB-INF/view/ServiceSubmitPage.jsp</result>         
        </action>
上面的代码显示了一个包含名字和姓氏的列表,每行都有一个编辑选项。现在我想在javascript中调用函数
fnUpdate()
,以便
我可以分别编辑和保存每一行。这就是我基本上需要做的。

不要在整个表上使用表单,只需使用单独的表单,然后单击表行中的链接,调用javascript函数提交单独的表单

试试下面的代码, 在jsp中


我不明白为什么在你的JS函数中间有一个URL标签?有没有要提交的表单?谢谢戴夫的回复,你能告诉我如何从JS函数调用SaleService EntServel.java中的方法UpDeTestErvieDebug()吗?是的,Alexndr有表单提交表单的“Actudio”属性吗?如果不知道你实际上想做什么,除了一般性的建议之外,很难提供任何东西。
<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>
<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>
function fnUpdate(artpsMstId) {
    document.forms.updateServiceDetailForm.action = "updateServiceDetails.action";
    document.forms.updateServiceDetailForm.method = "post";
    document.forms.updateServiceDetailForm.artpsMstId.value = artpsMstId;
    document.forms.updateServiceDetailForm.submit();
}