0

私はStruts 1.1アプリケーションに取り組んでいます。
JSP フォーム ページ (つまり、adduser.jsp) の検証を追加しました。
追加ボタンをクリックすると検証されます。そして、「Validator-XSS.xml」での検証は正常に機能しています。
しかし、検証が失敗すると、jsp フォーム ページ (つまり、adduser.jsp) である入力属性に転送されます。 ここで、JSP ページの代わりに JSP フォーム ページ (つまり adduser.jsp
) を開く別のアクション (ieopenAddUser.do) に呼び出しを転送する必要があります。

アップデート

struts-config.xml

    <struts-config>
    <!-- some another entries -->

    <form-bean name="UserForm" type="com.UserForm"/>

    <action path="/createuser" type="com.CreateUserAction" name="UserForm" 
    scope="request"> 
            <forward name="adduser" path="/jsp/adduser.jsp"/> 
    </action>

    <action path="/adduser" type="com.AddUserAction" input="/jsp/adduser.jsp" 
name="UserForm" scope="request"> 
            <forward name="showuser" path="/showUserDetails.do"/>
    </action>

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property
            property="pathnames"
            value="/WEB-INF/User-Validator.xml"/>
    </plug-in>
    </struts-config>

XSS-validator.xml

<form-validation>
<formset>
    <form name="UserForm">

        <field property="userName" depends="mask">
<msg name="mask" key="ui.field.invalidvalue" bundle="appResources"/>                
            <var>
                <var-name>mask</var-name>
                <var-value>^[a-zA-Z0-9-_]*$</var-value>
            </var>
        </field>

    </form>
</formset>

jspファイルでユーザーの作成をクリックすると、createuser.doが呼び出されますフォームに詳細を入力した後、adduser.jspが開き、追加ボタンをクリックすると、adduser.do もXSS-validator.xmlを介して検証されますが、呼び出しはjspに行きます/adduser.jsp でもcreateuser.doを呼び出す必要があります

ActionForm is extended by ValidatorForm



public class UserForm extends ValidatorForm{

    String userName;
    String userId;

    //getter setter
    }

ActionClass



Public Class CreateUserAction{
    public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

    //some code to bring list and other details

    mapping.findForward("adduser");
    }

    Public Class AddUserAction{
    public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

   //some code to add user and other details

    mapping.findForward("showuser");
    }
4

1 に答える 1