[英]Struts1.2 action class is not called
在這里,我給出的代碼沒有得到輸出,但調用了動作,但未調用動作類。 我想做的事請幫助我。 我在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>
我不知道它是如何完成的,但是我找到了解決方案。
通過將一些參數替換為方法。 那是。
我將ServletRequest替換為HttpServletRequest,並使用了覆蓋符號來替代類方法。 它得到解決,我不知道stil原因如何..
@override
public ActionForward execute(ActionForm form, ActionMapping mapping,
HttpServletRequest request, HttpServletResponse response)
throws Exception() {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.