我已经尝试过liferay-ui:search-container
以表格/网格格式在UI上获取和显示数据库表记录.通过使用liferay-ui:search-container
我得到如下所示的输出,
我在上面的屏幕截图中获取USER_表记录.
问题:
我想让网格列动态化,我希望为最终用户启用一个选项,以删除不需要的列并在相应的网格/表中添加所需的列.
EX:
在上面的屏幕截图中,以下列显示在网格中.
First Name, Last Name, Screen Name, Job Title, Organization, User Groups
Run Code Online (Sandbox Code Playgroud)
现在,如果用户想删除Job Title
并希望Greetings and Mail Address
在UI上添加列,而不需要触摸/修改代码.
我该如何实现此功能?
注意:
我需要为自定义模型实现此功能.
查询:
1)是否有任何API /方法来实现/启用此功能?
2)如果不能,我该如何实施这些步骤?有任何建议或步骤来完成这项任务吗?
我的用户表单中有选择框的表单.我还需要在编辑模式下更新表单.我能够在编辑模式下获得选定的值.但我无法在编辑模式下设置所选值.
在这里,我可以从db中获取所选值.<%=user.getTitle() %>
现在我如何在选择框中设置所选值.
<aui:select name="title">
<aui:option label="Dr" value="dr" />
<aui:option label="Mr" value="mr" />
<aui:option label="Mrs" value="mrs" />
<aui:option label="Ms" value="ms" />
</aui:select>
Run Code Online (Sandbox Code Playgroud)
示例I为此输入字段设置所选值,
<aui:input name="emailAddress" value=""></aui:input>
Run Code Online (Sandbox Code Playgroud)
有什么建议请!!
我是Liferay的新人.我使用服务构建器来创建数据库.我手动填充它们.最后我可以用JSP调用它们PersonLocalServiceUtil class
.现在我想在我的程序中使用Ajax.
例如:带有属性的人personID
,personWeight
,personTemperature
和datetime
存储在数据库中.
我想通过personID
查看特定时间线的重量或温度图来进行ajax调用.我所知道的,我可以将数据库从数据库调用到控制器但是我不知道如何将它转换为JSON
obejct并根据请求将其转发到JSP,这样JSP就不会刷新页面而是显示新的图形.
我已经定义了一个配置动作类,用于根据drools(liferay-portlet.xml
)加载现有portlet的配置:
<configuration-action-class>com.liferay.drools.action.ConfigurationActionImpl</configuration-action-class>
Run Code Online (Sandbox Code Playgroud)
这个类是processAction类:
public class ConfigurationActionImpl extends DefaultConfigurationAction {
@Override
public void processAction(
Run Code Online (Sandbox Code Playgroud)
现在,我想添加另一个带行的表单(在同一个config.jsp页面内).我想从所有这些行调用一个不同的类(对SelectRules.java类的调用):
<%
ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
IRRule myRule = (IRRule)row.getObject();
String name = IRRule.class.getName();
String primKey = String.valueOf(myRule.getPrimaryKey());
%>
<liferay-ui:icon-menu>
<portlet:actionURL name="selectRule" var="selectURL">
<portlet:param name="resourcePrimKey" value="<%=primKey %>" />
</portlet:actionURL>
<liferay-ui:icon image="checked" message="SelectRule" url="<%=selectURL.toString() %>" />
</liferay-ui:icon-menu>
Run Code Online (Sandbox Code Playgroud)
在my portlet.xml
我定义了以下portlet类:
<portlet-class>com.myown.oriol.selectrules.portlet.SelectRules</portlet-class>
Run Code Online (Sandbox Code Playgroud)
如您所见,主要问题是actionURL正在寻找配置动作类,但我真正想要的是调用名为selectRules的portlet类(SelectRules.java)函数.
我想要调用的已定义的类selectRules以这种方式启动:
public class SelectRuleClass extends MVCPortlet {
public void selectRule(
PortletConfig portletConfig, ActionRequest actionRequest,
ActionResponse actionResponse)
Run Code Online (Sandbox Code Playgroud)
你知道我需要解决这个问题吗?考虑到configurationActionImpl.java已经由另一个人定义,我不知道如何将这两个类合并为两个不同的扩展.
在简历中..我需要在选择要使用的规则时从configuration.jsp调用函数selectRule.但是配置动作类是加载此现有portlet所需的另一个类.在选择规则时,我收到此错误...
86 does not have any …
Run Code Online (Sandbox Code Playgroud) 我们如何通过使用脚本或aui:script来在liferay中添加动态aui表单元素?如果那是不可能的,是否有任何替代解决方案.
我有一个有两个部分的aui表格.点击一个按钮,我想通过javascript动态地向表单添加新的部分.我尝试使用document.createElement(),但通过使用它,我们将只能创建HTML dom元素.我想创建aui元素,如aui:input,aui:select等
这就是我的表单结构:
假设我在第二部分有一个按钮.当我点击它时,我想在aui:form中添加一个aui:fieldset元素作为子元素.
我目前无法设置<aui:input>
标签的日历日期和语言环境格式:
Date
指定了值,所选日期也始终是现在由于我的声誉,我无法上传图像或共享一个以上的链接,因此在这里我将前面提到的三种情况合并为一个图像。
这是我目前在.jsp文件中所做的事情:
<%
Calendar calendar = CalendarFactoryUtil.getCalendar(themeDisplay.getTimeZone(), themeDisplay.getLocale());
Date date = new Date(571096800000l); // A random date different than NOW.
calendar.setTime(date);
System.out.println("calendar date = " + calendar.getTime()); // Fri Feb 05 22:00:00 GMT 1988
Format formatter = FastDateFormatFactoryUtil.getDate(themeDisplay.getLocale(), themeDisplay.getTimeZone());
String formattedDate = formatter.format(date);
System.out.println("formatted date = " + formattedDate); // formatted date = 5.02.88
%>
<aui:input type="date" name="test1" value="<%= calendar %>"/>
<aui:input …
Run Code Online (Sandbox Code Playgroud) 我有一个 aui 表单中的字段,我只想在选中相应的复选框时需要这些字段,否则不需要它们。<aui:script>
一旦启用复选框,我将启用这些输入字段,只有这样 aui 验证才可以工作。
我尝试过隐藏<aui:validator>
脚本中的依赖条件。
仅当在 aui 中选中我的复选框时,如何启用验证?
<aui:form action="" method="post">
<aui:input type="checkbox" name="employeeId" id="employeeId"></aui:input>
<div id="employeeDetails">
<aui:input type="text" name="name" id="employeeId2">
<%
if (true) { //default i kept true how to check this condition on check box basic
%>
<aui:validator name="required"' />
<%
}
%>
</aui:input>
<aui:input type="text" name="email" id="employeeId3">
<%
if (true) {
%>
<aui:validator name="required" />
<%
}
%>
</aui:input>
</div>
<aui:button-row>
<aui:button type="submit" />
</aui:button-row>
</aui:form>
<aui:script>
AUI().use('event', 'node', function(A) {
A.one('#employeeDetails').hide(); …
Run Code Online (Sandbox Code Playgroud) 我想在我的liferay 7 portlet中包含sockjs(v1.1.2),但是我收到了这个警告:
Mismatched anonymous define() module: function ()...
Run Code Online (Sandbox Code Playgroud)
然后没有加载库.
我直接在我的liferay-portlet.xml中包含.js文件,如下所示:
<header-portlet-javascript>/common/js/sockjs.js</header-portlet-javascript>
Run Code Online (Sandbox Code Playgroud)
我没有任何想法让它发挥作用
我有一个隐藏的链接,其中包含我需要调用的生成的 javascript 片段:
var AUI = YUI;
AUI().use('event', function(A) {
var deleteButton = 46;
A.one('.searchNameSelect').on('keyup', function(e) {
if(e.button == deleteButton){
A.one('a.deleteSelectedSearch')._node.onclick();
}
});
});
Run Code Online (Sandbox Code Playgroud)
<script src="http://cdn.alloyui.com/2.0.0/aui/aui-min.js"></script>
<a href="#" onclick="alert('call successful');" class="deleteSelectedSearch" style="display:none;"></a>
<select name="selectedSearch" size="1" class="searchNameSelect">
<option value="search">search</option>
<option value="another-search" selected="selected">another-search</option>
</select>
Run Code Online (Sandbox Code Playgroud)
该链接是使用 MyFaces (2.1) commandLink
<h:commandLink class="deleteSearch" action="#{search.deleteSelected}"></h:commandLink>
生成的,它生成一个 onclick javascript:onclick="return myfaces.oam.submitForm('genertated-formId','generated');
我试图用 AUI 触发点击事件,但没有成功。
有没有人以更 AUI 风格的方式触发 onclick Javascript 的好主意?
我必须在jsp文件中获取当前的Liferay Window状态.我试过了
WindowState.class.toString()
Run Code Online (Sandbox Code Playgroud)
它给出了结果 class javax.portlet.WindowState
我也试着actionResponse.getWindowState().toString()
它给出与上面相同的结果.
我只想检查我的jsp文件portlet处于哪种状态,并相应地写入条件.我正在寻找像这样的条件 (actionResponse.getWindowState().toString()).equals(WindowState.MAXIMIZED)
我在以上情况下得到例外.通过这种方式,我可以在JSP中获取portlet的当前状态.
liferay-aui ×10
liferay ×8
liferay-6 ×5
alloy-ui ×3
javascript ×2
liferay-ide ×2
calendar ×1
date ×1
forms ×1
hook ×1
java ×1
jquery ×1
liferay-7 ×1
portlet ×1
yui ×1