`
blues1021
  • 浏览: 135511 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

Struts表单提交的text String数据可以作为HQL中的Integer类型处理

    博客分类:
  • SSH
 
阅读更多

1.传入数据的表单中的声明 :<form  method="post" action="/Unity3DHouse4/searchBuildingInfo.do?method=searchBuildingInfoBy2">
          <table width="700" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="10">&nbsp;</td>
              <td width="220"><label>楼盘ID:
              
  <input type="text" name="buildingId" />
                </label></td>
              <td width="220"><label>楼盘类型:
                <input type="text" name="projectType" />
                </label>
              </td>
              <td ></td>
              <td >&nbsp;</td>
              <td >&nbsp;</td>
              <td width="40"><label>
                <input name="Submit" type="submit" value="查找" />
                </label></td>
            </tr>
          </table>
        </form>
2.在form-bean中:
<form-bean name="buildingInfoForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="projectId" type="java.lang.Integer" />
//提交时为Integer类型数据,但是这里没有使用form-bean来读取数据。

      <form-property name="projectName" type="java.lang.String" />
      <form-property name="projectType" type="java.lang.String" />
      <form-property name="projectAddress" type="java.lang.String" />
      <form-property name="houseType" type="java.lang.String" />
      <form-property name="houseNumber" type="java.lang.Integer" />
      <form-property name="priceRange" type="java.lang.String" /> <!-- 为请求的过程中产生的form模型 -->
      <form-property name="paidWay" type="java.lang.String"/>
       <form-property name="salesAddress" type="java.lang.String"/>
        <form-property name="telephone" type="java.lang.String"/>
  </form-bean>
3.在action方法中:
public ActionForward searchBuildingInfoBy2(ActionMapping mapping, ActionForm form,//1.结合输入时的form处理
            HttpServletRequest request, HttpServletResponse response){
        // DynaActionForm buildingForm = (DynaActionForm) form;
         // String buildingId = buildingForm.getString("buildingId");//但是它是一个String类型的数
      
 String buildingId=request.getParameter("buildingId");//能够读取Integer型数据,当然因为text类型传入都是String类型。
        //String projectType =buildingForm.getString("projectType");
            String projectType=request.getParameter("projectType");
    /*      Map<String,String> map = new HashMap<String,String>();
            
            map.put("buildingId", buildingId); //终于找到了,这里出错,没有将变量正确的存储
                                                        //1.没有读取相关的form request数据
            map.put("projectType", projectType);
            */
//在此处调用的时候,没有使用强制转换为Integer类型。
        
List<Buildinginfo> list =  buildingInfoDao.findBy2(buildingId,projectType);
      request.setAttribute("buildingInfoBy2", list); //4.将其存入到houseInfo链表对象中
        return mapping.findForward("searchBuildingInfoBy2");//4.返回到页面标志searchBuildingInfoBy2
    }
}
4.在dao类方法中:
public List<Buildinginfo> findBy2(String buildingId,String projectType){//同样对其为String类型的。
        
        
        //List<Buildinginfo> list=null;            //buildingId出错
        //String buildingId=map.get("buildingId");
        //在前面存入后,通过 List<Course> clist = courseDao.findBySearch(map);又可以将其取出。
        //String projectType=map.get("projectType");
         if(!buildingId.equals("")&&!projectType.equals("")){
             
//在HQL语句中都可以成功的调用。 因为查询库时可以用‘ ’对于Integer数据查询。 
Query q = getSession().createQuery("FROM Buildinginfo WHERE buildingId=? AND projectType=?");
                q.setString(0, buildingId);

                //q.setString(1, tchName);
                q.setString(1, projectType);
                
                List<Buildinginfo> list1 = q.list();
                return list1;
                }
             else if(
!buildingId.equals("")&&projectType.equals("" )){ //对其判断是也是使用了String类型的方法
                     Query q = getSession().createQuery("FROM Buildinginfo WHERE buildingId=? ");
                     q.setString(0, buildingId);
                     //q.setString(1, tchName);
                     
                     
                     List<Buildinginfo> list2 = q.list();
                     return list2;
                }
             
             else if(buildingId.equals("")&&!projectType.equals("")){
                 Query q = getSession().createQuery("FROM Buildinginfo WHERE projectType=?");
                    //q.setString(0, loginAccount);
                    //q.setString(1, tchName);
                    q.setString(0, projectType);
                    
                    List<Buildinginfo> list3 = q.list();
                    return list3;
                    }
           
             else{
                     Query q = getSession().createQuery("FROM Buildinginfo");
                         
                         
                     List<Buildinginfo> list4 = q.list();
                         return list4;
                }
                
            }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics