2010-06-15 42 views

Trả lời

18

Bạn lấy thông tin này từ đâu? Điều này sẽ không hoạt động trong chuẩn JSP 2.1 EL. Cú pháp chính xác sẽ là:

${param["myparam"]} 
${param.myparam} 

Trong ví dụ đầu tiên, các dấu ngoặc đơn cũng được phép và thực sự được ưa thích hơn.

${param['myparam']} 

Nó thậm chí có thể là một biến EL trong bất kỳ phạm vi:

${param[myparam]} 

Trên thực tế, ${param} đề cập đến một Map<String, String> chỉ với giá trị param đầu tiên từ mảng. Trong lý thuyết, nếu đó là Map<String, String[]> và lớp Map có phương thức getValues() thì cú pháp của bạn sẽ hoạt động. Nhưng nó không có, nó chỉ có một phương pháp values(). Tốt nhất sau đó sẽ được sử dụng thay vì ${paramValues} trong đó đề cập đến một Map<String, String[]>:

${paramValues['myparam'][0]} 
${paramValues.myparam[0]} 

hoặc truy cập vào HttpServletRequest#getParameterMap() trực tiếp:

${pageContext.request.parameterMap['myparam'][0]} 
${pageContext.request.parameterMap.myparam[0]} 
+0

Cảm ơn cho câu trả lời. Tôi nghĩ vậy. Đây thực sự là một câu trả lời "đúng" từ phần mềm uCertify prepEngine cho SCWCD. Tôi chỉ muốn chắc chắn và nghe một số ý kiến. – matus

+0

Bạn được chào đón. – BalusC

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