2012-06-12 29 views
2

我有什麼:如何使用Spring MVC「form」標記而不是我的「輸入」標記?

我有一個在我的應用程序用於顯示某些實體通用 JSP頁面。我感興趣的代碼是這樣的:

<form:form modelAttribute="object"/> 
    <core:forEach items="${sections}" var="section" varStatus="itemStat"> 
     <core:forEach items="${section.fields}" var="fieldDef"> 
      <form:input path="${fieldDef.fieldName}"/>           
     </core:forEach> 
    </core:forEach> 
<form:form> 

對於每一個部分,並在該節中的每個字段,我有具有路徑字段名,這是我想從每個顯示的內容輸入領域。

我想要什麼:

我想,而不是輸入是一個簡單的文本,就像一個標籤。

我曾嘗試:

我最肯定的是,我可以做<form:label>它以某種方式,但我真的不能使它發揮作用。製作一個<form:label path="${fieldDef.fieldName}" />只是告訴瀏覽器哪個字段需要標籤,但是沒有從中獲得實際值。

我也試着像${object.fieldDef.fieldName},但爲了這個工作我必須首先分析${fieldDef.fieldName}價值,這將使我列的名稱,然後做一個${object.column},但列是一個變量我無法以任何方式進行這項工作。

備選:

另一種是隻讓輸入爲禁用並刪除與CSS的邊界,但是這將是一個骯髒的方式,從我看到它也是棘手的IE瀏覽器的不同版本。我相信我可以直接處理它。


我有點好奇通過<form:input path="...">付諸找到相對應的路徑是什麼(這同樣適用於其他表單元素)輸入的事實,但標籤它的工作原理不同。

所以,我想要的基本上很簡單,但我還沒有設法找到一種方法。如果有人能夠說出一些亮點,那會很棒。提前致謝 !

+1

的'form'標籤庫是不是JSTL。這被認爲是Struts或Spring MVC。請閱讀'form' taglib URI並相應地更新您的問題。另外,請閱讀我們的JSTL wiki頁面以瞭解JSTL的真實含義:http://stackoverflow.com/tags/jstl/info – BalusC

+0

感謝您的信息。我更新了我的帖子。 –

回答

2

而不是

<form:input path="${fieldDef.fieldName}"/> 

使用

​​

它會顯示任何值是存在,而不是創建一個輸入字段。希望這可以幫助你。乾杯。

+0

這樣做只會打印出我的列名,例如** id **或** name **。我想打印來自** $ {object.name} **的值。這是我的問題。這是我正在尋求這個問題。 –

2

利用彈簧形式標籤,一種選擇是使用

<形式:輸入禁用= 「真正的」 PATH = 「$ {} fieldDef.fieldName」/ >

爲了進一步使它看起來不像一個輸入,你可以使用CSS將其設置爲您的偏好。

一些CSS樣式,你可以使用:

背景色:#EEEEEE;邊框:0像素固體;

更新: 你可以看看春季綁定標籤。我以前沒有嘗試過使用它,但這可能適用於您,而不是輸入標記

<spring:bind path="fieldDef.fieldName"> 
    ${status.value} 
</spring:bind> 
+0

正如我在我的第一篇文章中提到的,我曾考慮過這個問題,但這不是一個很好的方法。此外,儘管在Firefox或Chrome瀏覽器中看起來沒什麼問題,但在某些版本的Internet Explorer中,「background-color:inherit」實際上不起作用,並且某些邊框無法正常顯示。所以我想以另一種方式來做。 –

+1

你看着春天:綁定http://static.springsource.org/spring/docs/1.1.5/taglib/tag/BindTag.html –

+0

是的,是的,是的!這是我正在尋找的。謝謝你,先生!如果你可以發佈這個答案而不是評論,我可以通過選擇這個問題來解決這個問題。 –

相關問題