1.基本类型转为字符串
int c=10;
String a = Integer.toString(c);
String b = String.valueOf(c);
String m = c + "";
2.字符串转为基本类型
String s= "8";
int a = Integer.parseInt(s);
int b = Integer.valueOf(s);
3.空指针 ---> 非空判断
下拉框数据回显错误 --->版本的问题
value是向后台传送数据. name应该和实体类中的属性值,保持一致.
出现的问题最多的就是 属性的对应问题-->前台属性和后台属性的对应问题. 正确的jsp和java代码如下:
//这个是按照条件查询action方法中的一段代码
if(house.getHouseType()!=null && StringUtils.isNotBlank(house.getHouseType().getLeaseNatures())){
//字段名起的都有点乱,以后要注意属性的命名,切忌重复.
System.out.println("**house.getHouseType().getHouseTypes()=="+house.getHouseType().getLeaseNatures());
detachedCriteria.add(Restrictions.like("houseType.dictId", "%"+house.getHouseType().getLeaseNatures()+"%"));
}
户型[value属性值 写的是对应的id]
<select id="houseTypeId" name="houseType.leaseNatures" style="WIDTH: 180px">
<option value="">--请选择--</option>
<c:forEach items="${baseDictHouseTypeList}" var="baseHouseType">
<option value="${baseHouseType.dictId}">${baseHouseType.leaseNatures}
</option>
</c:forEach>
</select>
状态
<select name="state">
<option value="">--请选择--</option>
<!-- 条件查询--数据回显(这里代码有点长,建议js) -->
<option value="1" ${state =="1"?"selected":""}>1</option>
<option value="0" ${state =="0"?"selected":""}>0</option>
</select>
4.页面数据的传递:[option里面的数据回显问题-->==左边(${houseType.leaseNatures})输出的也是ID值-->它需要和name值对应]
户型
<select id="houseTypeId" name="houseType.leaseNatures" style="WIDTH: 180px">
<option value="">--请选择--</option>
<c:forEach items="${baseDictHouseTypeList}" var="baseHouseType">
<option ${houseType.leaseNatures==baseHouseType.dictId?"selected":"" } value="${baseHouseType.dictId}">${baseHouseType.leaseNatures}</option>
</c:forEach>
</select>