我有一个问题,希望有人可以帮助我。好吧,我正在使用Struts 1.3.10开发一个应用程序,我有一个带有包含属性的对象的struts表单。该属性被声明为基本类型int
,当应用程序向用户显示零(0)而不是什么时,当我从数据库中检索该数据并且结果为NULL时,问题就出现了。你们有没有遇到过这个问题?你们怎么做才能避免这种行为?
我唯一想到的就是将int
转换为String
对象,但这意味着当您必须插入/检索/更新数据时,需要进行一些转换和/或其他操作/来自数据库。
对此有何帮助? 提前致谢, 卡洛斯
答案 0 :(得分:2)
总之,这是你想要的:
如果有人输入了值,则在文本框中显示该值,如果有人未输入值(值为null
)则显示空白。
不幸的是,我没有办法自然地做到这一点,所以你必须做到以下几点:
1.在表单上使用Integer
表示这些属性,从数据库中设置这些值,使它们为空或实际值。
2.在你的jsp上你必须像这样手工制作输入标签:
<c:set var="propertyValue">
<c:if test="${! empty FORM_NAME.PROPERTY_NAME}>
<c:out value="${FORM_NAME.PROPERTY_NAME}"/>
</c:if>
</c:set>
<input type="text" name="PROPERTY_NAME" value='<c:out value="${propertyValue}/>'/>
FORM_NAME是您表单的名称,PROPERTY_NAME是Integer
媒体资源的名称。它不优雅,但它应该工作(虽然我没有测试过)