<html:hidden name="YjFeedbackDetailForm" property="packId" value='<%=hMap.get("PACK_ID")==null?"":hMap.get("PACK_ID")%>'/>
这个在jdk1.4下是正常的
但是在jdk1.6就报错
Yj_Feedback_detail.jsp:224:79: The method setValue(String) in the type BaseInputTag is not applicable for the arguments (Object)
------解决方案--------------------
后面的 hMap.get("PACK_ID").toString()
------解决方案--------------------
这是因为 JAVA 5以后,引入了泛型。
增强了JAVA的安全机制,
<html:hidden>实现类中如下:
setValue(T t)
t为泛型,1.4的时候没有方向,会通过object强制转换,这样存在潜在安全问题。
,所以:
<html:hidden name="YjFeedbackDetailForm" property="packId" value='***'/>
*** 必须是String 类型,而不是Object;
------解决方案--------------------
html:hidden name="YjFeedbackDetailForm" property="packId" value='<%=hMap.get("PACK_ID")==null?"":hMap.get("PACK_ID")+""%>'/>