我想在JSP页面中有一个来自bean的默认值,但我无法获取expresion来提取值。我正在与工作的一个例子JSP是属性标签(struts2)的默认值
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title> Testing OGNL conversions </title>
</head>
<body>
The data stored is
<s:property value="dataField" /><br/>
The property of thisdata is
<s:property value="thisdata" default="%{dataField}" /><br/>
<s:property value="dataField" />
</body>
</html>
我得到以下输出
The data stored is YES
The property of thisdata is %{dataField}
YES
假设struts.xml中和类是否正确(如,因为正在打印的YES被,如所预期,他们应该是)我怎样才能得到默认值拉从dataField(是的,我知道愚蠢的名字,但对于测试代码它适用于我)
dataField存在于bean中,但此数据不存在(这样做是为了让我可以打印默认值)
第二件事情第一件它回来了与上面的%{dataField}的地方错误的价值,它回来了NO,这是我从我在书中读到的理解Struts2在行动是如果返回值的属性是NULL,那么struts将使用默认值(因为它上面只是没有评估它)现在看起来它正在被错误地评估(只有2个可能的值是YES和NO,并且getDataFeild函数只返回值没有处理它)所以现在的问题是你可以有一个值,为什么它有错误的值这一次 – mpop 2012-04-05 19:48:17
返回值'值'不是'NULL',因为你正在为'价值'领域。至于错误的价值,你最好确保你的getter/setter中的所有东西都是正确的。 – Omnipresent 2012-04-05 19:52:20
另一个问题,数据类型是否使用自定义转换的事实是否会影响默认工作方式? (因此,这两个值是YES和NO,但真正在对象中它只是布尔值)? – mpop 2012-04-05 20:08:11