接上
struts.xml
struts.xml 代码
<!-- 用户信息 -->
<package name="users" extends="struts-default" namespace="/user">
<!-- 显示用户信息 -->
<action name="reg_*" class="com.carshop.action.RegisterAction" method="{1}">
<interceptor-ref name="logger"></interceptor-ref>
<result name="success">/user/account_address.jsp</result>
<result name="input">/reg.jsp</result>
</action>
<!-- 用户修改信息控制器 -->
<action name="regupdate" class="com.carshop.action.RegisterAction" method="update">
<interceptor-ref name="params" />
<result name="success">/include/info.jsp</result>
<result name="input" type="chain">reg_input</result>
<result name="error">/include/error.jsp</result>
</action>
异常:
exception javax.servlet.ServletException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
root cause java.lang.NullPointerException
com.carshop.action.RegisterAction.update(RegisterAction.java:73)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
望高手指点啊!!
struts.xml
struts.xml 代码
<!-- 用户信息 -->
<package name="users" extends="struts-default" namespace="/user">
<!-- 显示用户信息 -->
<action name="reg_*" class="com.carshop.action.RegisterAction" method="{1}">
<interceptor-ref name="logger"></interceptor-ref>
<result name="success">/user/account_address.jsp</result>
<result name="input">/reg.jsp</result>
</action>
<!-- 用户修改信息控制器 -->
<action name="regupdate" class="com.carshop.action.RegisterAction" method="update">
<interceptor-ref name="params" />
<result name="success">/include/info.jsp</result>
<result name="input" type="chain">reg_input</result>
<result name="error">/include/error.jsp</result>
</action>
异常:
exception javax.servlet.ServletException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
root cause java.lang.NullPointerException
com.carshop.action.RegisterAction.update(RegisterAction.java:73)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
望高手指点啊!!
RegisterAction.java的73行是什么?
应该是这的问题。。输出看看..
你试试<s:property value="user.goname" />
如果没有传出来,你再看看其它地方。
action内部我看是没有问题,主要是你account_address.jsp 这个文件。
return ERROR;
}
用值前应该先判断下
你把textfield里面的value写成这种表达式有什么用啊,我按这种方式是可以往Action的user对象里面设置属性的,按你的方式用于user对象的属性都是空的,肯定是空指针