我是使用Struts实体提交。Form ,配置,还有实体类我都检查感觉没问题。可就是获取不到表单数据。请各位高手帮下小弟。
我QQ :490326353
   也可以留QQ 给我 , 我来加你。

解决方案 »

  1.   

    form 里面用的是实体类吧,例如
    private Example item=new Example();
    ...(setter\getter方法)
    你的提交页面里面的数据的name属性值要写成:name="item.属性值"(属性值是Example类的属性)这样才能把输入的数据保存到Form实体类中 
      

  2.   

    form里面用实体类作为对象,实例名要小写开头,必须与jsp页面统一。。实体类是自动生成的吗?注意struts是自动找getXxx()进行填充。。
      

  3.   

    页面上的提交Action和属性名要是没问题,就是配置错误。你提交的是什么东西?值?文件?还是什么?
      

  4.   

    Form
    package com.java.form;import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;import com.java.dto.Users;public class UsersForm extends ActionForm {
    Users users = new Users();
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    return null;
    }
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    }
    public Users getUsers() {
    return users;
    }
    public void setUsers(Users users) {
    this.users = users;
    }
    }
      

  5.   

    实体类
    package com.java.dto;import java.io.Serializable;
    import java.util.HashSet;
    import java.util.Set;public class Users implements Serializable {
    public Users() { }
    public Users(String userName, String passWord) {
    this.username = userName;
    this.password = passWord;
    }
    public Users(int userId, String userName, String passWord) {
    this.userId = userId;
    this.username = userName;
    this.password = passWord;
    }
    private int userId;      //用户ID
    private String username; //用户名
    private String password; //密码   
    private Set users = new HashSet(0);
    public int getUserId() {
    return userId;
    }
    public void setUserId(int userId) {
    this.userId = userId;
    }
    public String getUserName() {
    return username;
    }
    public void setUserName(String username) {
    this.username = username;
    }
    public String getPassWord() {
    return password;
    }
    public void setPassWord(String password) {
    this.password = password;
    }
    public Set getUsers() {
    return users;
    }
    public void setUsers(Set users) {
    this.users = users;
    }
    }
      

  6.   

    Action
    package com.java.Action;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;import com.java.dto.Users;
    import com.java.dtoimp.UserLoginDaoImp;
    import com.java.form.UsersForm;
    public class LoginAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    UsersForm UsersForm = (UsersForm) form;// TODO Auto-generated method stub
    UserLoginDaoImp imp = new UserLoginDaoImp();
    String uname = UsersForm.getUsers().getUserName();
    String pwd = UsersForm.getUsers().getPassWord();
    Users user = new Users(uname,pwd);
    Users user2 = imp.selectUsers(user);
    if(uname.equals(user2.getUserName()) && pwd.equals(user2.getPassWord())){
    request.setAttribute("uname",user2);
    return mapping.findForward("succeed");
    }
    else{
    request.setAttribute("message", "登录失败!用户名或密码无效");
    return mapping.findForward("defeated");
    }
    }
    }
      

  7.   

    form表单
    直接写
    String password;
    String username;
    这两个,应该没有问题
    从来没有用过你的用法,struts2中可以,不知道1中是否可以
    楼主可以试一下
      

  8.   

    我想知道你的jsp里面是怎么写的?
    <html:form>里面,用户名,密码的property是啥
      

  9.   

    解决:
    FormBean不要写User属性。删掉。
    然后添加String username,String password,添加getter,setter
    在jsp里面:
    <html:text property="username" />
    <html:password property="password" />然后就ok了
      

  10.   

    配置文件
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
      <form-beans >
        <form-bean name="UsersForm" type="com.java.form.UsersForm" />  </form-beans>  <global-exceptions />
      <global-forwards />
      <action-mappings >
        <action
          attribute="UsersForm"
          input="/login_form.jsp"
          name="UsersForm"
          path="/LoginAction"
          scope="request"
          type="com.java.Action.LoginAction" parameter="user" >
          <forward name="succeed" path="index.jsp" />
          <forward name="defeated" path="index.jsp" />
          </action>  </action-mappings>  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
    </struts-config>
      

  11.   

    页面
    <form action="/MyHouses/LoginAction.do" method="post" name="myForm" onsubmit="return login()">
    <table align="center">
    <tr>
    <td colspan="2" align="center">

    </td>
    </tr>
    <tr>
    <td>用户登陆:</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td colspan="2"><hr/></td>
    </tr>
    <tr>
    <td>用户名:</td>
    <td><input type="text" name="user.username"></td>
    </tr>
    <tr>
    <td>密码:</td>
    <td><input type="password" name="user.password"></td>
    </tr>
    <tr>
    <td>
    <input type="hidden" name="sign" value="login"/>
    <input type="submit" value="登陆" class="btn">
    </td>
    </tr>
    </table>
    </form>
      

  12.   


    我用的是Struts里面的实体提交,以前成功过!!
      

  13.   

    form  里面的 
    Users users = new Users();
    改成->Users user = new Users();或者页面->
    <td>用户名:</td>
    <td><input type="text" name="users.username"></td>
    </tr>
    <tr>
    <td>密码:</td>
    <td><input type="password" name="users.password"></td>记得name好像应该和FORM里实例名一样,不是类名~
      

  14.   

    还是错误
    java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(String.java:687)
    at org.hibernate.mapping.Column.setName(Column.java:61)
    at org.hibernate.cfg.HbmBinder.bindColumns(HbmBinder.java:1070)
    at org.hibernate.cfg.HbmBinder.bindColumnsOrFormula(HbmBinder.java:1528)
    at org.hibernate.cfg.HbmBinder.bindSimpleValue(HbmBinder.java:1124)
    at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:391)
    at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:334)
    at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
    at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
    at org.hibernate.cfg.Configuration.add(Configuration.java:669)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
    at com.java.util.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:30)
    at com.java.dtoimp.UserLoginDaoImp.selectUsers(UserLoginDaoImp.java:16)
    at com.java.Action.LoginAction.execute(LoginAction.java:21)
    at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
    %%%% Error Creating SessionFactory %%%%org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/java/dto/HouseInfo.hbm.xml
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
    at com.java.util.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
    at com.java.util.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
    at com.java.dtoimp.UserLoginDaoImp.selectUsers(UserLoginDaoImp.java:16)
    at com.java.Action.LoginAction.execute(LoginAction.java:21)
    at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.java.dto.HouseInfo
    at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
    at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:145)
    at org.hibernate.cfg.Configuration.add(Configuration.java:669)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
    ... 34 morejava.lang.NullPointerException
    at com.java.dtoimp.UserLoginDaoImp.selectUsers(UserLoginDaoImp.java:21)
    at com.java.Action.LoginAction.execute(LoginAction.java:21)
    at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
      

  15.   

    页面好像就是上面说的那个问题,加个点应该就能搞定,name里是form的属性名,再点出其中值的名称。可我一般是这么显示,忘记了能不能提交进去。
    其实就把值提交过去就完了,这些页面提交的东西基本全要验证,等验证完了该放哪放哪多好。另外就是你的Users不会是hibernate的实体类吧?你就这么用它接收页面参数,就不拍页面值改名?
      

  16.   

    刚把hibernate学完,把以前用struts做的一个小项目加入hibernate 才做到登录就出了好多错误。
     现在脑袋好晕。不晓的从哪里找起。