具有不同 Action 类的单个 JSP

问题描述 投票:0回答:2

我有一个JSP页面,用于上传文件。此页面必须在我的应用程序中的许多不同位置使用,但每次我使用此页面时,表单的操作类都是不同的。

我正在使用 Struts 2 和 Hibernate。任何人都可以建议如何实现这一点。

下面是我的JSP代码:

  <table width="100%" cellspacing="0" border="0" cellpadding="0">

<tr>
    <td colspan="3" align="left"><s:url
        action="" id="idfileValidate" escapeAmp="false"></s:url> <input
        type="button" class="btn"/></td>
</tr>

...............

<tr>
    <td colspan="3" align="left"><input type="button" class="btn"/><s:url
        action="" id="idfileUpload" escapeAmp="false"></s:url> <input
        type="button" class="btn" id="buttonUpload"/>
    </td>
</tr>
 </table>

两个

<s:url>
标签中的操作将是不同的调用位置。

java jsp struts2
2个回答
1
投票

您需要在网址中给出操作名称,如下所示

 <table width="100%" cellspacing="0" border="0" cellpadding="0">

<tr>
    <td colspan="3" align="left"><s:url
        action="fileValidate" id="idfileValidate" escapeAmp="false"></s:url> <input
        type="button" class="btn"/></td>
</tr>

...............

<tr>
    <td colspan="3" align="left"><input type="button" class="btn"/><s:url
        action="fileUpload" id="idfileUpload" escapeAmp="false"></s:url> <input
        type="button" class="btn" id="buttonUpload"/>
    </td>
</tr>
 </table>

您需要在 struts.xml 中映射该操作,如下所示

<action name="fileValidate" 
            class="com.action.struts2.validatefileaction" >

<action name="fileupload" 
            class="com.action.struts2.fileupload" >

试试这个


0
投票

JSP 中唯一的操作名称是可变的。在每个操作类或基类中创建一个字段,如

String actionName;
//getter and setter

然后在JSP中使用它

<tr>
    <td colspan="3" align="left"><s:url
        action="%{actionName}" id="id%{actionName}" escapeAmp="false"></s:url> <input
        type="button" class="btn"/></td>
</tr>

它将动态替换此 JSP 返回结果的每个操作的操作名称。

© www.soinside.com 2019 - 2024. All rights reserved.