将csv smook到java bean - 设置全局参数和访问

时间:2013-11-08 11:08:02

标签: java smooks

我正在使用smooks(v1.5)从csv文件映射到java bean集合以获取记录。目前,它是每个CSV记录的1大java bean。

我有一些静态全局应用程序数据,我希望映射到我的java bean(即一些不在csv记录中的数据项)。

目前,我通过在我的调用java类中进行一些后smink处理,将这些静态数据添加到我的java bean中。

但是,如果可能的话,我希望能够在smooks中处理这个问题。认为在smooks过滤器之前添加全局参数映射会很好,然后让我的smooks xml文件能够在每个java bean上设置相关属性。

这可能吗?

修改

我发现我可以在执行上下文中添加属性:

ExecutionContext executionContext = smooks.createExecutionContext();
executionContext.setAttribute("someParam", "someValue");

但是如何在smooks配置中访问此属性以传递到我的java bean?

1 个答案:

答案 0 :(得分:0)

我为我的静态参数创建了一个简单的bean并添加了

ExecutionContext executionContext = smooks.createExecutionContext();

MappingStaticParams staticParams = new MappingStaticParams();
staticParams.setSomeTextParam = "someValue";
BeanId beanId = executionContext.getBeanContext().getBeanId("staticParams");
executionContext.getBeanContext().addBean(beanId, staticParams );

这将bean放在我的smooks过滤器配置文件的范围内,该文件可以使用jb表达式映射参数:

<jb:expression property="staticText">staticParams.someTextParam</jb:expression>