你先看看register是不是存在的

解决方案 »

  1.   

    为啥是“object of class "java.lang.String"”?
      

  2.   


    Register.java里面有getName()方法
      

  3.   


    Register register = new Register();当然存在啊
      

  4.   


    Register register = new Register();当然存在啊
      

  5.   

     <form action="${pageContext.request.contextPath}/user/query.do" method="post"> 
        <table> 
          <tr> 
          <td>用户: </td> 
          <td> <input type="text" name="username" size="20" value="${userQuery.name}"> </td> 
          </tr> 
          <tr> 
          <td>地址: </td> 
          <td> <input type="text" name="address" size="20" value="${userQuery.address}" > </td> 
          </tr> 
        </table> 建议你用标签,要输入username和address 加个value值干吗?
      

  6.   

    看看 你在session 中 是否在另一个地方放了一个 "userQuery" 的键将[session.setAttribute("userQuery",register); ] 覆盖掉了。
      

  7.   


    <form action="${pageContext.request.contextPath}/user/query.do" method="post"> 请求的路径是不是错了,继承了 DispatchAction类后,那struts-config.xml 关于那个action
    肯定设置了parameter属性......那请求时是否还要加上
    <form action="${pageContext.request.contextPath}/user/query.do?xxxx=query" method="post">
      

  8.   


    我就谢了这一个 session.setAttribute("userQuery",register); 
      

  9.   


    parameter 在Struts-config里我就加上去了 parameter="query"
    然后在MdispathAction里写了public  ActionForward query(ActionMapping mapping,ActionForm form, 
                              HttpServletRequest request,HttpServletResponse response)方法
      

  10.   

    ,userQuery.name 系统老是报这个错误 Unable to find a value for "name" in object of class "java.lang.String" using operator "." 
    ----------------------------------------------------------
    你通过
    session.setAttribute("userQuery",register); 
    语句把register放到了userQuery中,
    而从userQuery中取的时候你用类似 :
    register userQuery=(register)session.getAttribute("userQuery");强制转换成register然后,
    调用userQuery.getName();对它取值或EL表达式${userQuery.name}; 
    个人见解!