gpt4 book ai didi

java - Liferay 配置 Action 类 - Spring 依赖注入(inject)

转载 作者:行者123 更新时间:2023-11-30 08:26:35 25 4
gpt4 key购买 nike

在Liferay中,Configuration Action类定义在liferay-portlet.xml中问题是,如果我使用任何 spring 依赖注入(inject),它就不起作用。

<portlet>
<portlet-name>search</portlet-name>
<icon>/icon.png</icon>
<configuration-action-class>com.mypack.MyConfigurationAction</configuration-action-class>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<css-class-wrapper>search-portlet</css-class-wrapper>
<add-default-resource>true</add-default-resource>
</portlet>

Action 类实现

public class MyConfigurationAction extends DefaultConfigurationAction {

private @Value("${test.property1}") String property1;
private @Value("${test.property2}") String property2;
}

如何在不使用 ClassPathXmlApplicationContext 和在类中硬编码 spring.xml 文件的情况下将这些属性注入(inject)到这个 Action 类中

最佳答案

在portlet开发[liferay中]有两种保存首选项的方法,

  1. 通过 liferay 特定的方式,它使用 liferay-portlet.xml 条目。无法用 spring 管理。

  2. JSR-286[与门户无关],portlet 编辑模式。

在使用Spring MVC框架开发portlet时,建议使用portlet EDIT模式。

在Spring MVC portlet框架中,可以通过portlet方式映射portlet请求。

例如:如下所示创建 Controller 类,它将映射到 EDIT 模式请求。

@Controller
@RequestMapping("EDIT")
public class PreferencesController

有两个方法,一个带有注解@RenderMapping 的方法负责 View ,另一个方法带有注解@ActionMapping/@RequestMapping 负责存储首选项。

希望这会有所帮助。

关于java - Liferay 配置 Action 类 - Spring 依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21397793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com