<!-- 对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="登录">
User user = (User)form ;
user.getName();
把input标签的name="user.name"改成name="name",同时写实体类User继承ActionForm,加上name属性设置set/get方法
不能用Strues标签,因为很多样式在struts标签上就没用了
追答不用struts标签那你就得在action中手动获取name的值,你text标签的name是user.name,你在action中就要string userName=request.getParameter("user.name"); 这样手动取值,你就不好利用struts的自动封装取值了哎。你可以用struts标签,不能设置的属性用css来设置不就行了
本回答被提问者和网友采纳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行