1

ここで私は自分のコードを与えています。出力は得られませんが、アクションは呼び出されますが、アクションクラスは呼び出されません。私が何をすべきか、私を助けてください。そして、私がURLで取得しているのは

http://vpcl014:8080/StrutsExamples/loginPojoClass.do

しかし、ファイルが表示されず、actioncalss が呼び出されません。私がすべきこと:( PojoClass.

import org.apache.struts.action.ActionForm;

public class LoginPojo extends ActionForm {

    /**
     * 
     */
    private static final long serialVersionUID = 962636910569104889L;
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

アクション クラス:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;    
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


// action mapping class for the action.
public class Pojoaction extends Action {

    // method for the mapping the action.
    public ActionForward execute(ActionForm form, ActionMapping mapping,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        System.out.println("Action is called..:D");
        LoginPojo loginPojo = new LoginPojo();
        loginPojo.setUsername("Username");
        loginPojo.setPassword("Password");
        return mapping.findForward("success");
    }

}

struts-cfg.xml ファイルはこちらです。

<form-beans>
    <form-bean name="LoginPojo" type="com.kishan.modelPojo.LoginPojo"></form-bean>
    <form-bean name="LoginPojoSuccess"
        type="com.kishan.modelPojo.LoginPojo.LoginPojoSuccess"></form-bean>
</form-beans>
<action-mappings>
    <action path="/Forword" forward="/LoginPojo.jsp"></action>
    <action name="LoginPojo" path="/loginPojoClass" scope="session"
        type="com.kishan.modelPojo.Pojoaction" input="/LoginPojo.jsp"
        validate="false">
        <forward name="success" path="/LoginPojoSuccess.jsp"
            redirect="true">
        </forward>
    </action>
</action-mappings>
<message-resources parameter="com.kishan.struts.ApplicationResources" />

そのメソッドを呼び出しているjspファイル。

    <body>
        <html:form action="/loginPojoClass">
            Username:<html:text property="username"></html:text>
            <br />
            Password:<html:password property="password"></html:password>
            <br/><html:submit value="Submit"></html:submit>
        </html:form>

        This is my JSP page.
        <br>
    </body>
</html>

最後に、最初の転送アクションを配置する index.jsp

 <html>
    <head>
        <base href="<%=basePath%>">

        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    </head>

    <body>
        <html:link action="/Forword.do">GOTO FORM</html:link>

        <br>
    </body>
</html>
4

1 に答える 1

2

私はそれがどのように行われたのかわかりませんが、同じ解決策を見つけました。

一部のパラメーターをメソッドに置き換えることによって。あれは。

ServletRequest を HttpServletRequest に置き換え、オーバーライド表記を使用してクラス メソッドをオーバーライドしました。そして、それは解決されます。理由はまだわかりません..

@override
public ActionForward execute(ActionForm form, ActionMapping mapping,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception() {

}
于 2013-09-18T11:36:34.840 に答える