struts2+hibernate3.2+spring2.5

zyongking 2009-07-21 08:21:22
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:426)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)


root cause

java.lang.NullPointerException
org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:792)
org.apache.struts2.components.UIBean.end(UIBean.java:510)
org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
org.apache.jsp.save_jsp._jspx_meth_s_005ftextfield_005f0(save_jsp.java:156)
org.apache.jsp.save_jsp._jspx_meth_s_005fform_005f0(save_jsp.java:110)
org.apache.jsp.save_jsp._jspService(save_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)

出了上面的这个异常,我启动服务的时候是没有错的,只是访问页面的时候就报错了
<s:form action="saveUser">
<s:textfield name="user.firstname" label="%{getText('firstname')}"></s:textfield>
<s:textfield name="user.lastname" label="%{getText('lastname')}"></s:textfield>
<s:textfield name="user.age" label="%{getText('age')}"></s:textfield>
<s:submit value=" submit "></s:submit>
</s:form>

当我把action删除时,就没有上面的这个异常的
<action name="saveUser" class="saveUserAction">
<result name="success" type="redirect">
listAction.action
</result>
<result name="input">/save.jsp</result>
</action>
struts.xml文件内容


<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/oa"></property>
<property name="username" value="root"></property>
<property name="password" value="wjssheng0"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
</bean>

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/wind/bean/User.hbm.xml</value>
</list>
</property>
</bean>

<bean id="userDao" class="com.wind.dao.impl.UserDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>

<bean id="userService" class="com.wind.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"></property>
</bean>

<bean id="saveUserAction" class="com.wind.action.user.SaveUserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean>

applicationContext.xml
...全文
157 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
天阙 2010-02-23
  • 打赏
  • 举报
回复
我也遇到这个问题了。。。。。,不知道怎么解决。。。
KKK2007 2009-08-07
  • 打赏
  • 举报
回复
好好调试
trigem 2009-07-22
  • 打赏
  • 举报
回复
检查你的资源文件
lytcd 2009-07-22
  • 打赏
  • 举报
回复
<s:textfield name="user.firstname" label="%{getText('firstname')}"> </s:textfield>
<s:textfield name="user.lastname" label="%{getText('lastname')}"> </s:textfield>
<s:textfield name="user.age" label="%{getText('age')}"> </s:textfield>

问题很明显出在这里

你action中的 属性 对应的名称 是 firstname吧 那么 你页面中应该是 name="fristname"

还有你的label的值直接用el表达式不行吗? 更清晰 label="${fristname}"

其他的属性累死
lyz0622_1022 2009-07-22
  • 打赏
  • 举报
回复
关注
closewbq 2009-07-21
  • 打赏
  • 举报
回复
这个错误很明显是空异常,根据其他异常信息,应该是获取页面的值没有,也就是说类似%{getText('firstname')}的值有空值。缕缕!
pbfox 2009-07-21
  • 打赏
  • 举报
回复
org.apache.jsp.save_jsp._jspx_meth_s_005ftextfield_005f0(save_jsp.java:156)
org.apache.jsp.save_jsp._jspx_meth_s_005fform_005f0(save_jsp.java:110)
org.apache.jsp.save_jsp._jspService(save_jsp.java:73)
重点看一下这3行的位置

可能是你的<s:form action="saveUser"> action不对
sangshusen_1988 2009-07-21
  • 打赏
  • 举报
回复
你把submit换成<input type="submit" value="submit"/> 这样看看
bean 2009-07-21
  • 打赏
  • 举报
回复
java.lang.NullPointerException 空指针异常,仔细检查在save.jsp 页面使用的对象或传递数据是否为空

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧