Hi Bill,
You are comparing string with enum by == operator, so it's always false.
Also if You see this value in debug it's the effect of toString() method.
You can access enum like this com.something.actionst...@none
if i remebmer correctly.

Best greetings,
Paweł Wielgus.


2009/9/6 Bill Bohnenberger <bill98...@gmail.com>:
> How do I reference an enum variable in an <s:if> test attribute?
> This is the situation, and the results I get:
>
> 1) I have a enum defined as
>
>    public enum ActionState
>    {
>        NONE, INIT, LIST, ADD, EDIT, DELETE ...
>    }
>
> 2) I have a variable of this type in my action class:
>
>    ActionState state;
>
> 3) My jsp contains the following code (this is just an example):
>
>    state = <s:property value="state"/>
>    <p>
>    <s:if test="%{state == 'LIST'}">true</s:if>
>    <s:else>false</s:else>
>    </p>
>
> 4) Here are the results in the browser:
>
> Struts ValueStack Debug
>
> Value Stack Contents ObjectProperty NameProperty Value
> com.rp.db.actions.Test update Update mapInstructions  servletContext
> org.apache.catalina.core.applicationcontextfac...@b79701 recordName
> servletResponse org.apache.catalina.connector.responsefac...@22e177 save
> Save locale en_US next Next state LIST cancel Cancel addContinent Add
> Continent add Add upload null actionErrors [] errors {} uploadMap Upload Map
> page 0 tableName  delete Delete command  uploadContentType null serv null
> addRegion Add Region sessinfo null uploadImage Upload Image texts null
> pageCount 0 errorMessages [] done Done edit Edit actionMessages [] pageSize
> 20 back Back httpSession
> org.apache.catalina.session.standardsessionfac...@15d45d9 init Init
> servletRequest org.apache.struts2.dispatcher.strutsrequestwrap...@a0a36 log
> org.apache.log4j.log...@e2b07b uploadFileName null fieldErrors {} pageTitle
> lastState NONE confirm Confirm Delete
> com.opensymphony.xwork2.DefaultTextProvider texts null
>
> Stack Context *These items are available using the #key notation*  KeyValue
> com.opensymphony.xwork2.dispatcher.HttpServletRequest
> org.apache.struts2.dispatcher.strutsrequestwrap...@a0a36
> com.opensymphony.xwork2.ActionContext.localeen_US
> com.opensymphony.xwork2.dispatcher.HttpServletResponse
> org.apache.catalina.connector.responsefac...@22e177
> com.opensymphony.xwork2.ActionContext.nameTest_init
> com.opensymphony.xwork2.ActionContext.application
> {org.apache.catalina.resources=org.apache.naming.resources.proxydircont...@10b23cf,
> org.apache.catalina.WELCOME_FILES=[Ljava.lang.String;@84f566,
> freemarker.configuration=freemarker.template.configurat...@12ea1dd,
> javax.servlet.context.tempdir=F:\development\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\marmoset,
> org.apache.catalina.jsp_classpath=/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/classes/;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/commons-fileupload-1.2.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/commons-io-1.3.2.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/commons-logging-1.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/freemarker-2.3.13.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/javax.persistence_1.99.0.v200906021518.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/jenkov-butterfly-persistence-5.0.0.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/jstl-impl-1.2.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/junit-3.8.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/log4j-1.2.15.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/ognl-2.6.11.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/spring-test-2.5.6.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/standard.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/struts2-config-browser-plugin-2.1.6.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/struts2-core-2.1.6.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/tabletags-1.0.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/xwork-2.1.2.jar;/F:/development/Tomcat
> 5.5/common/classes/;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-en.jar;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-es.jar;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-fr.jar;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-ja.jar;/F:/development/Tomcat
> 5.5/common/lib/commons-el.jar;/F:/development/Tomcat
> 5.5/common/lib/jasper-compiler-jdt.jar;/F:/development/Tomcat
> 5.5/common/lib/jasper-compiler.jar;/F:/development/Tomcat
> 5.5/common/lib/jasper-runtime.jar;/F:/development/Tomcat
> 5.5/common/lib/jsp-api.jar;/F:/development/Tomcat
> 5.5/common/lib/mysql-connector-java-5.1.7-bin.jar;/F:/development/Tomcat
> 5.5/common/lib/naming-factory-dbcp.jar;/F:/development/Tomcat
> 5.5/common/lib/naming-factory.jar;/F:/development/Tomcat
> 5.5/common/lib/naming-resources.jar;/F:/development/Tomcat
> 5.5/common/lib/servlet-api.jar;/F:/development/Tomcat%205.5/bin/bootstrap.jar;/F:/development/sun/sdk/jdk/lib/tools.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/dnsns.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/localedata.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/sunjce_provider.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/sunmscapi.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/sunpkcs11.jar}
> com.opensymphony.xwork2.ActionContext.conversionErrors{}  __component_stack
> [org.apache.struts2.components.de...@fd4662]  last.property.accessednull
> com.opensymphony.xwork2.dispatcher.ServletContext
> org.apache.catalina.core.applicationcontextfac...@b79701
> com.opensymphony.xwork2.dispatcher.PageContext
> org.apache.jasper.runtime.pagecontexti...@6937f9
> __requestWrapper.getAttributefalse  request
> {struts.valuestack=com.opensymphony.xwork2.ognl.ognlvaluest...@cad437,
> struts.view_uri=test.jsp, struts.request_uri=/marmoset/maint/Test_init,
> struts.actionmapping=org.apache.struts2.dispatcher.mapper.actionmapp...@178c490,
> javax.servlet.forward.servlet_path=/maint/Test_init,
> javax.servlet.forward.request_uri=/marmoset/maint/Test_init,
> __cleanup_recursion_counter=1, javax.servlet.forward.context_path=/marmoset,
> .freemarker.request=freemarker.ext.servlet.httprequesthashmo...@14f1726,
> .freemarker.requestparameters=freemarker.ext.servlet.httprequestparametershashmo...@1b0de2e
> }  last.bean.accessednull  actioncom.rp.db.actions.t...@329572  parameters{}
> __link[Ljava.lang.Object;@1c0b8a0  application
> {org.apache.catalina.resources=org.apache.naming.resources.proxydircont...@10b23cf,
> org.apache.catalina.WELCOME_FILES=[Ljava.lang.String;@84f566,
> freemarker.configuration=freemarker.template.configurat...@12ea1dd,
> javax.servlet.context.tempdir=F:\development\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\marmoset,
> org.apache.catalina.jsp_classpath=/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/classes/;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/commons-fileupload-1.2.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/commons-io-1.3.2.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/commons-logging-1.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/freemarker-2.3.13.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/javax.persistence_1.99.0.v200906021518.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/jenkov-butterfly-persistence-5.0.0.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/jstl-impl-1.2.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/junit-3.8.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/log4j-1.2.15.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/ognl-2.6.11.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/spring-test-2.5.6.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/standard.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/struts2-config-browser-plugin-2.1.6.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/struts2-core-2.1.6.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/tabletags-1.0.1.jar;/F:/development/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/marmoset/WEB-INF/lib/xwork-2.1.2.jar;/F:/development/Tomcat
> 5.5/common/classes/;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-en.jar;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-es.jar;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-fr.jar;/F:/development/Tomcat
> 5.5/common/i18n/tomcat-i18n-ja.jar;/F:/development/Tomcat
> 5.5/common/lib/commons-el.jar;/F:/development/Tomcat
> 5.5/common/lib/jasper-compiler-jdt.jar;/F:/development/Tomcat
> 5.5/common/lib/jasper-compiler.jar;/F:/development/Tomcat
> 5.5/common/lib/jasper-runtime.jar;/F:/development/Tomcat
> 5.5/common/lib/jsp-api.jar;/F:/development/Tomcat
> 5.5/common/lib/mysql-connector-java-5.1.7-bin.jar;/F:/development/Tomcat
> 5.5/common/lib/naming-factory-dbcp.jar;/F:/development/Tomcat
> 5.5/common/lib/naming-factory.jar;/F:/development/Tomcat
> 5.5/common/lib/naming-resources.jar;/F:/development/Tomcat
> 5.5/common/lib/servlet-api.jar;/F:/development/Tomcat%205.5/bin/bootstrap.jar;/F:/development/sun/sdk/jdk/lib/tools.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/dnsns.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/localedata.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/sunjce_provider.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/sunmscapi.jar;/F:/development/sun/sdk/jdk/jre/lib/ext/sunpkcs11.jar}
> xwork.NullHandler.createNullObjectsfalse  current.property.pathnull  attr
> org.apache.struts2.util.attribute...@320399
> com.opensymphony.xwork2.ActionContext.container
> com.opensymphony.xwork2.inject.containeri...@fa54fe
> com.opensymphony.xwork2.ActionContext.session{monkbiz=+a5GzlUWW6ih69v2ExOWOYoLhfM=,
> monkbizPage=0, monkbizPageCount=9}
> com.opensymphony.xwork2.ActionContext.actionInvocation
> com.opensymphony.xwork2.defaultactioninvocat...@fb6763
> com.opensymphony.xwork2.util.ValueStack.ValueStack
> com.opensymphony.xwork2.ognl.ognlvaluest...@cad437
> session{monkbiz=+a5GzlUWW6ih69v2ExOWOYoLhfM=,
> monkbizPage=0, monkbizPageCount=9}  report.conversion.errorsfalse
> xwork.MethodAccessor.denyMethodExecutionfalse  struts.actionMapping
> org.apache.struts2.dispatcher.mapper.actionmapp...@178c490
> com.opensymphony.xwork2.ActionContext.parameters{}
>   state = LIST
>
>     false
> 5)  Incidentally, test="%{state.name == 'LIST'} doesn't work either, but
> when I use <s:debug>, the value of "state" in the Value Stack is shown as
> "LIST".
>
> Thanks,
> Bill
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to