2012-05-03 15 views
8

Trong thanh chống 2 Tôi muốn sử dụng s: chọn được điền từ Bản đồ.
bản đồ của tôi có giá trị như "key1", "value1" "khóa2", "value2"Struts 2 - s: chọn sử dụng Bản đồ

Keys là những gì tôi muốn được niêm yết (là) nhưng nó diplays giá trị. Tôi không muốn hiển thị các giá trị nhưng giá trị được trả về tạo thành một phương thức tôi sử dụng trong các phương thức khác (như s: text) getTranslation ("value1") và hiển thị giá trị đó.

Nếu tôi cố gắng

<s:select ... list="myMap" listValue="getTranslation(myMap)"> 

Nó không hiển thị bất cứ điều gì, chỉ cần ô trống để lựa chọn. Làm cách nào để lấy id của phép lặp để điền để chọn để sử dụng một cái gì đó như:

<s:select ... list="myMap" listValue="getTranslation(myMap.get( how do I get this id? ))"> 

Hoặc một cái gì đó tương tự?

+1

bạn có thể sử dụng 'listKey' và 'tài sản của chọn thẻ listValue' Vui lòng đọc http://struts.apache.org/2.3.1/docs/select. html –

+0

Như tôi đã nói một cách rõ ràng trong câu hỏi, tôi sử dụng thuộc tính listKey và listValue, nhưng trong listValue tôi không muốn hiển thị giá trị của bản đồ, nhưng giá trị được trả về bởi một phương thức khi tôi chuyển như một tham số giá trị của bản đồ . – Panos

Trả lời

14

Rendering của

<s:select list="myMap" /> 

là tương đương với

<s:select list="myMap" listKey="key" listValue="value" /> 

sau đó hãy thử như sau

<s:select list="myMap" listValue="getTranslation(value)" /> 
+0

Tôi tìm thấy nó trước khi tôi nhìn thấy câu trả lời này và có tôi xác nhận đây là giải pháp! Cảm ơn! Panos

Các vấn đề liên quan