2013-04-17 33 views
11

Tôi có lớp saustruts2 truy cập enum từ JSP

package com.test; 

public class SomeClass { 
    public enum COLOR {RED,BLUE} 
} 

tôi muốn truy cập giá trị của COLOR enum trong JSP của tôi. Tôi đã thử đoạn mã sau nhưng nó không hoạt động.

<s:property value="@[email protected]"/> 
<s:property value="@[email protected]"/> 

Bất kỳ cơ thể nào gặp phải vấn đề này trước đây? [Tôi đã bật quyền truy cập phương pháp tĩnh trong struts.xml]

+0

bạn có thể làm điều đó nhưng bạn cần phải kích hoạt 'struts.ognl.allowStaticMethodAccess = true' –

+2

có một cái nhìn tại http://stackoverflow.com/questions/6708594/struts-2-iterate-enum –

+0

này câu hỏi và câu hỏi đó phải được hợp nhất. Tiêu đề của câu hỏi này là rõ ràng hơn nhưng hiệu quả họ yêu cầu cùng một giải pháp. – Quaternion

Trả lời

14

Đối với enum -s không cần bật static method access.

Enum-s có thể được truy cập bằng @ dấu hiệu như thế:

<s:property value="@[email protected]"/> 

Trong trường hợp của bạn vì bạn đang tuyên bố enum bên trong sử dụng lớp $ dấu hiệu để chỉ enum của bạn.

<s:property value="@[email protected]"/> 
+1

Đẹp và gọn gàng, +1 –

+1

Tôi ước gì tôi đã đi qua câu trả lời này vài tuần trước. '$' Là những gì tôi đã mất tích vì 'enum' của tôi được khai báo bên trong các lớp khác. – Matt

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