新增门户卡片

一、卡片展示
portlet的前端展示需要利用的是JSP页面,自定义即可,示例如下
新建JSP:{HOME}:/server/deploy/portal.ear/plt_sp.war/WEB-INF/fragments/demo/helloWorld/HelloWorldPortlet_view.jsp
<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%-- Uncomment below lines to add portlet taglibs to jsp <%@ page import="javax.portlet.*"%> <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%> <portlet:defineObjects /> --%> <b> VIEW MODE </b>
此外,可以利用如下方式,从JSP向后台发送参数信息:
<form id="dataForm" class="KdAjaxForm" action="<portlet:actionURL windowState="normal" portletMode="view"></portlet:actionURL>"> <table> <tr> <td> //需要发送的参数名称与内容 <input type="text" id="param" name="param" value='param'/> </td> </tr> <tr> <td><button type="button" class="button" ></button></td> </tr> </table> </form>
二、后台实现类
不做任务业务实现,仅用来将请求转发到相应的业务界面(即步骤1中新建的JSP页面),示例如下:
新增java类:
com.kingdee.portal.plt.sp.module.demo.portlet.HelloWorldPortlet需要继承 javax.portlet.GenericPortlet抽象类
有四个接口可供重写,分别用来进行请求转发与参数处理
1、请求转发接口
doView(RenderRequest request, RenderResponse response) doEdit(RenderRequest request, RenderResponse response) doHelp(RenderRequest request, RenderResponse response)
以上三个接口主要实现页面的转发,不做具体的业务处理,会将请求转到portlet卡片的前端界面
因此需要什么界面,就实现相应的接口即可,不需要全部重写,代码示例:
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
response.setContentType("text/html");
try {
String param="";
PortletPreferences pf = request.getPreferences();
//获取portlet的所有参数信息
Map<String, String[]> preferencesMap = pf.getMap();
if (preferencesMap!=null){
if (preferencesMap.get("param")!=null){
param = preferencesMap.get("param")[0];
}
}
//将参数发送至业务层,供其使用
request.setAttribute("param", param);
} catch (Exception e) {
request.setAttribute("error","error!");
}
PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher("/WEB-INF/fragments/demo/helloWorld/HelloWorldPortlet_view.jsp");
//转发请求至前端(HelloWorldPortlet_view.jsp)
dispatcher.include(request, response);
}public void doEdit(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
response.setContentType("text/html");
PortletRequestDispatcher dispatcher =
getPortletContext().getRequestDispatcher("/WEB-INF/fragments/demo/helloWorld/HelloWorldPortlet_edit.jsp");
dispatcher.include(request, response);
}2、参数处理接口
processAction(ActionRequest request, ActionResponse response)
接收前端请求所发送的业务参数,进行入库,持久化至表T_JP_PortletRuntimePreferences中
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
String param=request.getParameter("param");
PortletPreferences preferences = request.getPreferences();
preferences.setValue("param", param);
//持久化
preferences.store();
}三、增加新卡片的信息配置
1、配置文件路径
{HOME}:\server\deploy\portal.ear\plt_sp.war\WEB-INF\portlet.xml
2、示例
<portlet> <description xml:lang='en'>Hello World</description> <description
新增门户卡片
一、卡片展示portlet的前端展示需要利用的是JSP页面,自定义即可,示例如下新建JSP:{HOME}:/server/deploy/portal.ear/plt_sp.war/WEB-INF...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇
下一篇



