问题标签 [spring-portlet-mvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何创建从一个 portlet 到另一个 portlet 的引用?
我正在使用 带有Oracle WebLogic Portal的Spring portlet MVC 框架。
我有一个包含几个 portlet 的页面。例如page#1
(包含 2 个 portlet - portlet#1
and portlet#2
)和另一个页面 -page#2
还有两个 portlet ( portlet#3
and portlet#4
)
第一个页面 ( ) 上的第一个 portletportlet#1
包含一个链接。我想转到属于的页面portlet#3
(位于另一个页面上!!!)。
我怎样才能做到这一点 ?
在一个页面(包含这些 portlet)内的两个 portlet 之间创建连接不是问题。但是是否可以在位于不同页面的不同 portlet 之间移动???
java - 在 Liferay 6.2 中使用 ActionMapping/RequestMapping 时,请求中的表单数据为空
当我尝试在 Liferay 6.2 中获取表单中提交的数据时,它返回空值,就好像表单数据被丢弃一样。
JSP:
控制器:
为什么会这样?
configuration - 将 applicationContext 拆分为 portlet 的多个文件时出现问题
我有一个包含两个 portlet 的插件项目。对于每个 portlet,我定义了它自己的 applicatioContext 文件,该文件运行良好,但我必须在每个applicationContext.xml中冗余地放置一些我想避免的定义。
我宁愿把这段代码
到一个父 applicationContext.xml 中,它包含所有 portlet 的定义,并且只有特定配置到 portlet 特定的 applicationContext.xml 中。但这不起作用。如果我没有在每个 applicationContext.xml 中定义 jspResolver ,则无法找到它,从而导致错误。
在我的portlet.xml中,我为每个 portlet 定义了这个 init-param:
...
其中spring-mvc-portlet.xml包含所有 portlet 使用的定义。
web.xml:
spring-mvc-portlet.xml:
portlet1-portlet.xml:
portlet2-portlet.xml:
portlet.xml:
tomcat - Exception while initializing the PortletRequestListener
Getting following exception while running tomcat
with PortletRequestListner
.
I am new to liferay.
Not able to resolve this issue. Please help.
refresh - 在另一个 portlet 完成工作后自动刷新一个 portlet
我有两个 portlet:
一个是用于显示文件列表(以及更多)
二是将文件导入Liferay的文档库。
如果我在一个页面上同时拥有两个 portlet,如何在导入 portlet 完成其工作后实现“列表”portlet 的刷新?这是强制性的,因为列表 portlet 中的超链接将在导入后更改。
java - Liferay 配置动作类 - Spring 依赖注入
在 Liferay 中,配置 Action 类是在 liferay-portlet.xml 中定义的。问题是,如果我使用任何 spring 依赖注入,它都不起作用。
动作类实现
如何将这些属性注入到此 Action 类中,而无需ClassPathXmlApplicationContext
在类中使用和硬编码 spring.xml 文件
java - 从另一个 portlet (Liferay + Spring) 获取 Portlet 应用程序上下文
我想创建一个 portlet(我们称之为“动作管理器”)来列出@ActionMapping
与我的动作管理器 portlet 在同一页面中的所有 portlet 的所有动作方法(使用 spring Annotation )。
我所有其他的 portlet 都ParameterHandlerMapping
用来将传入的请求映射到适当的控制器
所以我的意图是获取当前页面中的所有 portlet(我已经这样做了)并尝试parameterHandlerMapping
从每个 portlet 中获取 bean,并从那里获取它的控制器名称(Controller1
, Controller2
),我稍后将使用它来获取@ActionMapping
注释方法。
是否可以访问每个 portlet“私有”上下文并检索parameterHandlerMapping
bean?
我目前坚持这个:
这会导致抛出异常,因为应用程序上下文中没有匹配的 bean。我试图通过 bean 的名称来获取它,结果几乎相同。
我还使用了上下文中存在的所有 bean 的列表
豆子不parameterHandlerMapping
存在。
我的理解是每个 portlet 都有自己的parameterHandlerMapping
bean,所以我猜ctx
我得到的是“全局”上下文,而不是parameterHandlerMapping
定义 bean 的 portlet 自己的“私有”上下文。
如果我是正确的并且我正在获取“全局”上下文,有没有办法根据其 portletId 获取 portlet 的“私有”上下文?甚至可以做我想做的事吗?
谢谢你的帮助
spring-mvc - ErrorBinding Spring portlet MVC
免责声明:我希望在开始使用该框架之前有一个全面的了解。但就目前而言,我在这方面缺乏,因此是这个问题。
我正在使用 Spring-Portlet MVC。
我有一个流程,我在屏幕上输入一个输入,验证输入,这取决于它的结果,它要么呈现同一个屏幕,要么呈现下一个屏幕。
实施细节:
我有一个动作方法,它采用支持命令对象的形式。它检查输入的输入是否有效。如果它无效,它会在它作为另一个参数的 BindingResult 实例中填充错误消息。
我们有不同的渲染方法,来渲染不同的屏幕。
我在这些渲染方法中将命令对象作为参数。我收到的这个命令对象与传递给操作的命令对象相同。
问题:
在重新渲染屏幕时,spring-mvc 应该绑定在 action 方法中填充的错误消息。目前,当我在渲染方法中将命令对象作为参数时,spring-mvc 无法绑定该错误消息。但有趣的是,如果我不将命令对象作为渲染方法中的参数,而是在那里完全创建一个新的命令对象,它能够绑定错误消息。
可以,对spring-portlet mvc有更好理解的人请解释一下这种行为,或者告诉我哪里缺乏理解。
问候,
马维亚
编辑:只是为了丰富以下答案:虽然我没有完全隔离导致上述行为的问题,但我满足我的要求的方式是使用模型属性。ModelAttribute 可以用于方法或方法的参数。它确保模型将可用于所有调用,直到视图呈现(这是我的理解!)。因此,我们不需要在 Render 方法中将 command 对象作为参数,只需在 action 方法中使用 ModelAttribute 注释 commandObject 参数,然后您就可以按照以下答案中的建议从模型返回相同的对象。
java - 使用 Spring 3.0.5 和带有请求范围 bean 的 aop 在 WebLogic 上运行 Liferay portlet 时出现“当前请求不是 portlet 请求”错误
有没有人看到并解决了这个错误?
bean 是使用“请求”范围和 aop 定义的,例如:
然而,当我在调试器中捕获设置请求属性的调用时,它似乎来自 WebLogic 而不是我预期的 Spring:
这些已经在 Glassfish 下正常工作了一段时间。在 WebLogic 上,我们收到此错误。在管理 Spring 请求上下文时,它看起来像 WebLogic 和 portlet 之间的冲突,但我不知道如何解决它。
谢谢
java - Portlet JSR286 如何调用在 Websphere 6 上的不同战争中发现的 portlet
我是portlet 的新手,基本上我有一个登录portlet 和一个菜单portlet,每个portlet 在不同的战争中。从菜单 portlet 中选择登录 portlet 时,我需要能够打开它。它是一个 Spring MVC 应用程序。
我已经阅读了有关 portlet 中的事件,但没有看到任何示例,例如 PortletA 处于一场战争中并且正在另一场战争中调用 Portlet B。
实现这一目标的最佳方法是什么?
有没有免费的在线教程可以提供帮助?
提前非常感谢。