jsp传值给action为空

<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>struts</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>struts</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<welcome-file-list>
<welcome-file>/FrontDesk/logl.jsp</welcome-file>
</welcome-file-list>
</web-app>

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="userService" class="cn.com.hzj.bater.web.service.impl.UserServiceBean"/>

<bean name="/user/list" class="cn.com.hzj.bater.web.action.UserAction"/>
<bean name="/user/add" class="cn.com.hzj.bater.web.action.UserAction"/>
<bean name="/user/delete" class="cn.com.hzj.bater.web.action.UserAction"/>
<bean name="/user/update" class="cn.com.hzj.bater.web.action.UserAction"/>
<bean name="/user/userid" class="cn.com.hzj.bater.web.action.UserAction"/>
<bean name="/user/logl" class="cn.com.hzj.bater.web.action.UserAction"/>
<bean name="index" class="cn.com.hzj.bater.web.action.UserAction"/>

<action path="/user/logl" validate="false" >
<forward name="logl" path="/FrontDesk/logl.jsp"/>
<forward name="un1" path="/FrontDesk/Untitled-1.jsp"/>
</action>
public class UserAction extends ActionSupport implements ModelDriven<User>{
@Resource UserService userService;

private User user=new User();
public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println(user.getName()+"=="+user.getPasswor());
<form action="user/logl.do" method="post">
<section class="loginForm">
<header>
<h1>登录</h1>
</header>
<div class="loginForm_content">
<fieldset>
<div class="inputWrap">
<input type="text" name="user.name" placeholder="邮箱/会员帐号/手机号" autofocus required>
<input type="submit" value="登录">

第1个回答  2012-03-23
struts1是通过 ActionForm form 来存取值的。
User user = (User)form ;
user.getName();
把input标签的name="user.name"改成name="name",同时写实体类User继承ActionForm,加上name属性设置set/get方法
第2个回答  2012-03-22
在jsp页面上用struts标签试试,通过action的自动取值好像必须要struts的标签支持吧,比如这两处用<s:textfield name="user.name"/>、<s:form action="user/logl.do" method="post" >。试试看吧追问

不能用Strues标签,因为很多样式在struts标签上就没用了

追答

不用struts标签那你就得在action中手动获取name的值,你text标签的name是user.name,你在action中就要string userName=request.getParameter("user.name"); 这样手动取值,你就不好利用struts的自动封装取值了哎。你可以用struts标签,不能设置的属性用css来设置不就行了

本回答被提问者和网友采纳
第3个回答  2012-03-22
user=request.getAttribute("user");
System.out.println(user.getName()+"=="+user.getPasswor());
试试追问

user=request.getAttribute("user");报空值

追答

是request空还是user空?
user=request.getAttribute("user");//报错在这一行?
System.out.println(user.getName()+"=="+user.getPasswor());//还是这一行?

追问

2012-3-22 16:18:55 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet struts threw exception
java.lang.NullPointerException
at cn.com.hzj.bater.web.action.UserAction.execute(UserAction.java:40)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)

追答

哇靠、你看看40行在哪来啊!
看看是哪里空了?为什么空?

追问

user=request.getAttribute("user");40行

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网