1

在这里,我给出了我的代码,我没有得到输出,但调用了动作但不调用动作类。我想做什么请帮助我。我在网址中得到的是

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 回答