Struts2中如何从triggers数组获取triggerClass属性值?
获取Struts2中Quartz触发器的triggerClass值
你之前的嵌套迭代错误地把每个Trigger对象当成键值对集合处理,所以只能拿到key。实际上triggers是Quartz Trigger对象的集合,每个元素是具体的Trigger实例(比如CronTrigger、SimpleTrigger),直接迭代每个对象即可获取triggerClass相关值,有两种可行方式:
方式一:针对封装后的DTO对象(带triggerClass属性)
如果triggers中的对象是自定义DTO,且包含triggerClass属性(对应输出里的类名字符串),直接通过属性名取值:
<s:iterator value="triggers"> Trigger Class: <s:property value="triggerClass"/><br> </s:iterator>
方式二:针对原生Quartz Trigger对象
如果是直接返回的Quartz原生Trigger实例,每个Trigger实现类(如CronTrigger、SimpleTrigger)的类名可以通过class.name直接获取,对应输出里的triggerClass值:
<s:iterator value="triggers"> Trigger Class: <s:property value="class.name"/><br> </s:iterator>
可以同时输出触发器的名称和类信息做验证:
<s:iterator value="triggers"> Trigger Name: <s:property value="key.name"/><br> Trigger Group: <s:property value="key.group"/><br> Trigger Class: <s:property value="class.name"/><br> <hr> </s:iterator>
内容的提问来源于stack exchange,提问作者radhika
相关产品推荐
相关产品推荐

