严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at com.test.action.RegistAction.registe(RegistAction.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)package com.test.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;public class RegistAction extends ActionSupport
implements ServletRequestAware,
ServletResponseAware,ModelDriven
{
/**
*
*/
private static final long serialVersionUID = 1L;
private HttpServletRequest req;
private HttpServletResponse res;
public HttpServletRequest getReq() {
return req;
} public void setReq(HttpServletRequest req) {
this.req = req;
} public HttpServletResponse getRes() {
return res;
} public void setRes(HttpServletResponse res) {
this.res = res;
}
public String registe() throws Exception {
// TODO Auto-generated method stub
// String yhlx=(String)req.getAttribute("yhlx");
String yhlx=req.getParameter("yhlx");
if(yhlx.equals("0")){
}
// else if(yhlx.equals("1")){
// return "success2";
// }else if(yhlx.equals("2")){
// return "success3";
// }
// return "success1";
return "SUCCESS";
} public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
} public void setServletResponse(HttpServletResponse arg0) {
// TODO Auto-generated method stub
} public Object getModel() {
// TODO Auto-generated method stub
return null;
}}
java.lang.NullPointerException
at com.test.action.RegistAction.registe(RegistAction.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)package com.test.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;public class RegistAction extends ActionSupport
implements ServletRequestAware,
ServletResponseAware,ModelDriven
{
/**
*
*/
private static final long serialVersionUID = 1L;
private HttpServletRequest req;
private HttpServletResponse res;
public HttpServletRequest getReq() {
return req;
} public void setReq(HttpServletRequest req) {
this.req = req;
} public HttpServletResponse getRes() {
return res;
} public void setRes(HttpServletResponse res) {
this.res = res;
}
public String registe() throws Exception {
// TODO Auto-generated method stub
// String yhlx=(String)req.getAttribute("yhlx");
String yhlx=req.getParameter("yhlx");
if(yhlx.equals("0")){
}
// else if(yhlx.equals("1")){
// return "success2";
// }else if(yhlx.equals("2")){
// return "success3";
// }
// return "success1";
return "SUCCESS";
} public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
} public void setServletResponse(HttpServletResponse arg0) {
// TODO Auto-generated method stub
} public Object getModel() {
// TODO Auto-generated method stub
return null;
}}
要先获和req对象。
检查以上两个红色变量建议把if(yhlx.equals("0"))改成if(“0”.equals(yhlx))
2。检查yhlx和jsp属性名是否相同
3。ls说的对,习惯要养成
public HttpServletRequest getReq() {
return req;
}public void setReq(HttpServletRequest req) {
this.req = req;
}public HttpServletResponse getRes() {
return res;
}public void setRes(HttpServletResponse res) {
this.res = res;
} 2>.setServletRequest和setServletResponse方法修改成以下形式:public void setServletRequest(HttpServletRequest arg0) {
this.req= arg0;
}public void setServletResponse(HttpServletResponse arg0) {
this.res = arg0;
}
直接在action中提供yhlx的get,set 方法。yhlx用隐藏域传过来就行了
直接用这个也行