gpt4 book ai didi

java - Liferay+ Spring : @ModelAttribute in render method with url parameters

转载 作者:行者123 更新时间:2023-12-01 13:44:57 24 4
gpt4 key购买 nike

我想制作带有过滤器和搜索结果的 portlet。过滤器必须在 get 方法中发送。我使用 spring 注释 @ModelAttribute 作为过滤器。但是filter中的所有属性都是null,因为liferay使用url参数的前缀,例如_[PORTLET_NAME]_WAR_[WAR_NAME]。我使用了 actionRequest 并通过 post 方法发送了过滤器,它可以工作,但我需要 url 中的参数。

Controller 中的方法:

@RequestMapping
public String view(@ModelAttribute("filter") ProcessSearchFilter filter, RenderRequest request, Model model)

当参数名称为 _processSearch_WAR_portlets_text=test 时,过滤器属性中的文本为 test,但我只想在 url 中使用文本参数。

知道它是如何制作的吗?

最佳答案

Liferay 6.2开始,有必要为 View 页面上的字段声明 namespace 前缀。如果您没有从提交的表单中收到任何值,请尝试像这样设置前缀

<input type="text" name="<portlet:namespace />inputTextName" />

或者更改 portlet 的设置,使其不再需要它们。在 liferay-portlet.xml 中,将所选 portlet 的 requires-namespaced-parameters 标记设置为 false

关于java - Liferay+ Spring : @ModelAttribute in render method with url parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20427082/

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