草庐IT

liferay-velocity

全部标签

java - Liferay 中不同的 "request"隐式对象

从这些隐式对象中获取属性有什么区别:renderRequest.getAttribute("myVar")actionRequest.getAttribute("myVar")request.getAttribute("myVar")为什么都允许?我的意思是您通常将属性存储在actionRequest或renderRequest对象中,但您可以在request隐式对象中获取它,为什么?什么是正确的做法?如何在View时间内获取Action对象?是不是违反了action-render的renderParams传递机制?如果在JSP中尝试使用它们时抛出NullPointerExceptio

java - 正则表达式在 Velocity 模板中不起作用

我在Test.java中试过了Stringregex="";Stringtest1="";System.out.println(test.replaceAll(regex,""));`但是当我在速度模板中尝试同样的事情时`#set($brRegex="")#set($imageDescription=$imageDescription.replaceAll($brRegex,""))`和:#set($imageDescription=$imageDescription.replaceAll("",""))`两者都不行。我错过了什么吗? 最佳答案

java - 将 Velocity 配置为在未定义的 $variable 上失败

当$var未定义时,Velocity是否可以配置为失败(即抛出异常)。这种“快速失败”策略将有助于我们的测试周期。 最佳答案 在Velocity1.6中,您可以将以下属性添加到您的velocity.propertiesruntime.references.strict=true编辑:此处提供完整的配置列表:http://velocity.apache.org/engine/devel/configuration.html 关于java-将Velocity配置为在未定义的$variable

java - Liferay 6.1 - 私有(private)插件安装程序 "disapear"或在控制面板中被禁用

我正在为Liferay6.1EEGA3开发应用程序。在控制面板下,我们有私有(private)插件安装程序部分,我们可以在其中安装/部署新的portlet。我正在使用面板并且该部分工作正常。然后我尝试安装自定义portlet。由于某种原因,安装失败,我从“部署”文件夹中删除了portlet,甚至重新启动了服务器。这个portlet没有做任何特别的事情,它只是针对Liferay的Lucene搜索引擎运行一些自定义查询。然后,在此过程之后,“服务器>插件安装>私有(private)插件安装程序”部分从我的屏幕上“消失”了。下面是我访问“服务器>服务器管理”和“服务器>插件安装”部分时看到的

java - 在 Velocity 模板之间传递参数

我正在尝试找出如何在从另一个调用速度模板时传递参数。看起来像这样文件:_reading_tracker.vm#parse("student/shared/_bio_data.vm")我需要将一些参数传递给_bio_data.vm。不知道该怎么做 最佳答案 代替解析_bio_data.vm,尝试creatingamacro,andthencallingthatmacro来自_reading_tracker.vm。或者,如果您不想使用宏,那么您应该能够#set($var="value")外部模板中的任意数量的变量,并引用到内部(已解析)

java - Apache 的 Velocity — getTemplate() 。如何传递字符串/对象而不是 .VM 文件

Apache的Velocity—getTemplate()。实际上它允许传递.vm文件名,我可以在这里传递字符串/对象吗?是否有任何方法可用于传递字符串/对象? 最佳答案 这是适合我的示例代码。极速版本:1.7我使用log4j作为记录器。importorg.apache.log4j.Logger;importorg.apache.velocity.Template;importorg.apache.velocity.VelocityContext;importorg.apache.velocity.app.Velocity;impo

java - Liferay api/jsonws 页面应该只能由管理员用户访问

谁能告诉我我们如何限制普通用户访问Liferayapi/jsonws页面。api/jsonws页面应该只能由管理员用户访问。我们是否可以选择在Liferay中执行此操作。谁能帮我解决这个问题 最佳答案 我猜Liferay6.2中没有这个功能:(jsonws.web.service.api.discoverable=false引用:https://issues.liferay.com/browse/LPS-50668我知道您可以在6.2中执行的选项ServletFilter钩子(Hook)在那里写下你的逻辑//写具体的模式Servic

java - Liferay 新 portlet vs 插件项目区别

我正在使用Eclipse并安装了Liferay插件并尝试创建一个新的portlet。我希望LiferayIDE预生成尽可能多的代码有谁知道创建新的LiferayPortlet和Liferay插件项目之间的主要区别是什么? 最佳答案 Liferay插件项目允许您创建一个项目(类型为portlet、主题、Hook等),其中包含开始编码(或几乎)所需的所有依赖项和设置。Liferayportlet将一个类(portlet类)和可选的JSP添加到您的一个portlet类型插件项目中。但是您必须告诉portlet如何使用这个类和jsp,以及可

java - 如何使用 apache velocity 从列表中删除重复元素

我有一个包含重复元素的列表,我需要使用速度例如,帖子包含重复元素#foreach($pin$posts)$p.name//willbeunique#end我想使用velocity删除重复项,任何帮助将不胜感激 最佳答案 这是可能的,这应该取决于您的速度版本。比上面的答案更简洁。#set($uniquePosts=[])#foreach($postin$posts)#if(!$uniquePosts.contains($post.name))#if($uniquePosts.add($post.name))#end##notethei

java - Liferay <门户组件 :actionURL>

在我的jsp中,我有以下代码:"method="post">我正在使用liferay。我想提交将在java类中处理的数据。我的java类几乎没有函数。在上面的jsp中应该如何指定在提交表单后它应该访问java中的特定功能? 最佳答案 如果您的portlet继承了MVCPortlet,只需创建一个与您的actionURL具有相同“名称”的公共(public)方法,该方法需要一个ActionRequest和ActionResponse参数:publicvoidaddDetails(ActionRequestreq,ActionRespo