我想在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