电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

新增门户卡片

来源:金蝶云社区作者:金蝶2024-09-223

新增门户卡片

一、卡片展示

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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信