首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-10-28 
Struts表单提交的text String数据可以作为HQL中的Integer类型处理1.传入数据的表单中的声明:form? method

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

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;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ???? }

热点排行