我的问题:
我成功获取了我的实体的单个记录,但是当我触发搜索查询或尝试获取多个实体时,我得到:
com.liferay.portal.kernel.bean.BeanLocatorException:尚未为servlet上下文设置BeanLocator MyCustom-portlet
我已经按照以下一些链接来设置Junit与Liferay:
我的环境
Liferay 6.0.5 EE与Tomcat捆绑在一起
带有Liferay IDE 1.4的Eclipse Helios使用Junit4
我在eclipse中使用"ant"命令运行我的测试,但不是通过输入Alt+ Shift+ X, T.
这将是非常有益的,如果我能得到一些想法,如何去使用的交易使用JUnit(或至少一些想法,它是如何工作的Liferay),以及如何解决BeanLocatorException(或者至少是为什么会被抛出)
任何帮助将不胜感激.
function tryToDownload(url)
{
oIFrm = document.getElementById('myIFrm');
oIFrm.src = url;
// alert(url);
// url=escape(url);
setTimeout(deletefile(url), 25000);
}
Run Code Online (Sandbox Code Playgroud)
以下是deletfile函数
function deletefile(url){
$.ajax({
type:'post',
url: "<%= addToDoDeleteDownloadFile %>",
data:{filename:url},
type : "GET",
timeout : 20000,
dataType : "text",
success : function(data) {
alert("success");
}
});
}
Run Code Online (Sandbox Code Playgroud)
上面是我的jQuery和我在25秒后调用一个函数,但有些如何不延迟deletefile(url)函数并执行刚刚执行.所以应该是什么问题?
我使用eclipse IDE在Liferay中构建了一个网站.
请告诉我从开发机器到部署机器的导出/导入或发布网站的一步一步程序..
谢谢
我正在为我的liferay主题编写速度模板,我想知道是否可以在速度模板中创建一个新对象.
原因是在liferay中没有在上下文中注册的contextTool,我真的希望能够在给定时间检查模板中存在的变量.有一个很酷的宏,但不幸的是它使用了contexttool.
我想做点什么:
#set($contextTool = new ContextTool())
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是随生命线主题提供的java代码,该主题能够在模板上下文中添加内容.但我不知道这是怎么回事...... ;-)
我正在使用Liferay 6进行门户开发.在Liferay下创建用户期间,我还需要添加一些额外的字段吗?如果这是可能的,请告诉我?
请看这里附的屏幕截图,也请告诉我哪个表格会存放在数据库中?

我需要使用portlet名称获取资源权限.
我将使用portlet的名称而不是Id.
portlet的资源许可权名称是该portlet的Id.我检查了Portlet表,它只有Id和其他信息.portlet的其他属性将保存在哪里?
有没有办法通过使用portlet的名称来获取portlet的Id.我有一个workaroud来获取所有portlet并进行比较,但如果我可以使用portlet的名称直接获取portlet的Id,那将会很有帮助.
它的紧急,如果有人知道请回复,这将是非常有帮助的.
提前致谢
前历史:我data exception: string data, right truncation在更新实体时遇到JDBCExceptionReporter 异常.
我发现这意味着,数据对于指定来说太大了varchar.
在service.xml列中指定如下:
<column name="message" type="String"/>
Run Code Online (Sandbox Code Playgroud)
我在Liferay的源代码中找到了ServiceBuilder这个片段:
else if (colType.equals("String")) {
Map<String, String> hints = ModelHintsUtil.getHints(
_packagePath + ".model." + entity.getName(), colName);
int maxLength = 75;
if (hints != null) {
maxLength = GetterUtil.getInteger(
hints.get("max-length"), maxLength);
}
if (col.isLocalized()) {
maxLength = 4000;
}
if (maxLength < 4000) {
sb.append("VARCHAR(" + maxLength + ")");
}
else if (maxLength == 4000) {
sb.append("STRING");
}
else if (maxLength …Run Code Online (Sandbox Code Playgroud) 我使用Liferay 6.1,我创建了我的主题(sample-theme),我想要添加jQuery.我怎样才能做到这一点?
为什么我有文件夹:sample-theme并且liferay-work都有文件夹:css,js,templates?
我创建了文件夹_diffs和子文件夹,js然后复制jQuery并添加portal_normal.vm:
<script src="/html/js/jquery/jquery-1.8.2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我没有看到任何变化,为什么?我怎样才能添加jQuery?不仅是单个portlet,而且是所有人.
我没有文件夹docroot我使用Maven并且在src/main/webapp中我创建了文件夹_diffs和文件夹js,在那里我添加了jquery.js并在_diffs中创建了模板文件夹并粘贴:
<script src="$javascript_folder/jquery-1.8.2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
但仍然是错的.也许文件夹_diffs应该在另一个地方?什么应该是maven项目的结构?
我是Liferay开发的新手,我在Liferay Tomcat服务器启动时遇到了麻烦.这需要将近3分钟(169048毫秒),这对于开发来说是不可接受的.我想把它降到一分钟左右.
这是我的机器的规格:
我正在使用:
为了加快速度,我做了:
#disable some filters
com.liferay.portal.servlet.filters.sso.cas.CASFilter = false
com.liferay.portal.servlet.filters.sso.ntlm.NtlmFilter = false
com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter = false
com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter= false
com.liferay.portal.sharepoint.SharepointFilter = false
com.liferay.portal.servlet.filters.gzip.GZipFilter = false
#disable indexing
index.on.startup=false
这是我的启动日志:
Jan 30, 2013 8:39:49 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.24.
Jan 30, 2013 8:39:49 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept … 我是liferay portlet开发的初学者,我正在开发一个接收http get请求的portlet,处理一些信息,而不是返回一个json对象.我的问题是我的portlet发送了一个完整的html页面,而不仅仅是json对象.这是我的代码:
HttpServletResponse servletResponse = PortalUtil.getHttpServletResponse((renderResponse));
servletResponse.setHeader("Content-type", "application/json");
servletResponse.setCharacterEncoding("application/json");
PrintWriter out = servletResponse.getWriter();
out.write(EntityUtils.toString(responseEntity));
out.flush();
out.close();
Run Code Online (Sandbox Code Playgroud)
我在doView()方法中执行它,我知道这不是最好的做法,但我现在并不关心这一点.有人可以向我解释如何只返回我读过有关serveResponse的json对象,但我无法弄清楚如何调用它.
liferay ×10
liferay-6 ×4
jquery ×2
portlet ×2
ajax ×1
export ×1
httprequest ×1
java ×1
javascript ×1
json ×1
junit ×1
junit4 ×1
performance ×1
publish ×1
service ×1
settimeout ×1
size ×1
startup ×1
velocity ×1