hi Mark,
I tried the 2nd way that you had suggested here are the details (I am not
sure I did everything alright) but it isnt working, it throws
"Method get() not implemented" error.
I have a class MyConstBean implementing Map with the following method.
public Map get(String constName) throws Exception{
HashMap map = new HashMap();
Class constClass = Class.forName(constName);
java.lang.reflect.Field[] flds = constClass.getDeclaredFields();
for(int i = 0; i<flds.length; i++){
map.put(flds[i].getName(), flds[i].get(null));
}
return map;
}
Now in the jsp, I have the following lined, just to alert the constant
value.
<%request.setAttribute("constantsBean", new
com.somePackage.MyConstBean());%>
alert('<c:out
value="${constantsBean.SomeConstantsInterface.SOME_CONST}" />');
this is not working ......
The first option requires a lot of changes in some other's module, so not
thinking about it now.
I do not understand the last option. Can you give me an example for the
function & its call....
Regards,
Arun Karthik R
-----Original Message-----
From: Mark Roth [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 12, 2004 9:29 PM
To: [EMAIL PROTECTED]
Subject: Re: Const in JSTL
Hi Arun,
There is no direct way to access constants in the EL. Here are a few
alternatives:
1. Create a Map in the application scope and put all the constants in
there. (e.g. ${myConstantsMap.SOME_CONST})
2. Create a bean that implements java.util.Map and have it look up
constants (e.g. ${constantsBean.MyConstants.SOME_CONST} would call
constantsBean.get( "MyConstants" ). This would return a Map containing
key/value pairs for the costants in MyConstants). This is not hard to
write and could be done using introspection.
3. Create a function that looks up the constants (e.g. ${fn:constants(
"MyConstants.SOME_CONST" )} ). Again, The function would use introspection.
We're looking into making this easier in a future version of the JSP
specification.
Hope this helps.
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Karthik Arun wrote:
> hi All
>
> How can I use a Const (final static) member of a class MyConstants in
JSTL??
> I would like to do something like this:
>
> <c:if test="${state == MyConstants.SOME_CONST}" >
> <c:set value="${stateCode + '<br><b>' + singleObjToProcess.stateStr +
> '</b><br>'}" var="stateCode" />
> </c:if>
>
> where SOME_CONST is a const in MyConstants class.state is a loop iterating
> variable, stateCode is some member variable of singleObjToProcess object
> that is in the page scope.
>
> Can somebody let me know how I can use the constant in the JSTL..????
>
> Regards,
> Arun Karthik R
>
>
>
>
===========================================================================
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
> For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
>
> Some relevant archives, FAQs and Forums on JSPs can be found at:
>
> http://java.sun.com/products/jsp
> http://archives.java.sun.com/jsp-interest.html
> http://forums.java.sun.com
> http://www.jspinsider.com
===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST
DIGEST".
Some relevant archives, FAQs and Forums on JSPs can be found at:
http://java.sun.com/products/jsp
http://archives.java.sun.com/jsp-interest.html
http://forums.java.sun.com
http://www.jspinsider.com
===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
For digest: mailto [EMAIL PROTECTED] with body: "set JSP-INTEREST DIGEST".
Some relevant archives, FAQs and Forums on JSPs can be found at:
http://java.sun.com/products/jsp
http://archives.java.sun.com/jsp-interest.html
http://forums.java.sun.com
http://www.jspinsider.com