知识大全 Portlet开发入门实例

Posted

篇首语:人要心强,树要皮硬。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Portlet开发入门实例相关的知识,希望对你有一定的参考价值。

Portlet开发入门实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   原生Portlet开发

  这是最简单 最本质的开发方式 直接基于Portlet规范定义的接口开发Portlet 优点是贴近底层比较灵活

  缺点当然就是所有事情都要自己去做 就好比不用SpringMVC Struts 直接基于Servlet开发一样

  这种方式比较适合自己开发Portlet框架

  public class NativePortlet implements Portlet

  private Logger logger = LoggerFactory getLogger(NativePortlet class);

  private PortletConfig config;

  @Override

  public void init(PortletConfig portletConfig) throws PortletException

  ( 初始化Portlet );

  nfig = portletConfig;

  

  @Override

  public void processAction(ActionRequest actionRequest ActionResponse actionResponse) throws PortletException IOException

  ( 处理Action动作 );

  ( 接收到POST请求 用户名为[] actionRequest getParameter( userName ));

  

  @Override

  public void render(RenderRequest renderRequest RenderResponse renderResponse) throws PortletException IOException

  ( 处理Render动作 );

  WindowState state = renderRequest getWindowState();

  if (state equals(WindowState MINIMIZED))

  return;

  

  // doDispatch();

  PortletMode mode = renderRequest getPortletMode();

  if (PortletMode VIEW equals(mode))

  // doView();

  String normalPage = config getInitParameter( ViewPage );

  if (WindowState NORMAL equals(state))

  this include(renderRequest renderResponse normalPage);

   else

  this include(renderRequest renderResponse );

  

   else if (PortletMode EDIT equals(mode))

  // doEdit();

   else if (PortletMode HELP equals(mode))

  // doHelp();

   else

  throw new PortletException( unknown portlet mode: + mode);

  

  

  @Override

  public void destroy()

  ( 销毁Portlet );

  

  private void include(RenderRequest request RenderResponse response String viewPage) throws PortletException IOException

  response setContentType( text/ );

  PortletContext context = config getPortletContext();

  PortletRequestDispatcher requestDispatcher = context getRequestDispatcher(viewPage);

  requestDispatcher include(request response);

  

  

  可以看到 在render()方法中 我们要自己处理不同Portlet模式(View Edit Help等)的渲染 根据需要做分发

  诸如此类的各种细节都需要我们自己去制定规则 自己处理

   注解Portlet开发

  Portlet规范也提供了注解的方式来开发Portlet 这样不用依赖SpringMVC Portlet等第三方框架

  也能比较方便的开发Portlet 又不用处理特别底层的实现细节 来看一个例子

  public class AnnotatedPortlet extends GenericPortlet

  private Logger logger = LoggerFactory getLogger(AnnotatedPortlet class);

  /**

  * 进入主页面(View模式)

  * @param request

  * @param response

  * @throws Exception

  */

  @RenderMode(name = view )

  public void toIndexPage(RenderRequest request RenderResponse response) throws Exception

  getPortletContext()

  getRequestDispatcher(getInitParameter( ViewPage ))

  include(request response);

  

  /**

  * 保存用户名

  * @param request

  * @param response

  */

  @ProcessAction(name = saveUsername )

  public void saveUsername(ActionRequest request ActionResponse response)

  String userName = request getParameter( userName );

  ( 保存用户名[] userName);

  

  /**

  * 保存电子邮件地址

  * @param request

  * @param response

  */

  @ProcessAction(name = saveEmail )

  public void saveEmail(ActionRequest request ActionResponse response)

  String email = request getParameter( email );

  ( 保存Email[] email);

  

  

  使用@RenderMode注解定义不同模式下 Portlet渲染的实现方法 @ProcessAction注解可以根据动作名称

  直接将请求交给标有注解的方法去处理 不用我们自己去实现根据注解分发请求的代码了

cha138/Article/program/Java/hx/201311/26248

相关参考

知识大全 JSP自定义标签入门实例

JSP自定义标签入门实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!首先在eclipse下新建一

知识大全 Tomcat+Mysql入门实例:滚动横幅广告

Tomcat+Mysql入门实例:滚动横幅广告  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Spring中IoC的入门实例详解

Spring中IoC的入门实例详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Spring的

知识大全 Struts入门--从原理到安装及实例讲解

Struts入门--从原理到安装及实例讲解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Str

知识大全 asp入门实例-读取数据库程序

cha138/Article/program/net/201311/14165

知识大全 深入liferay portal核心之一 portlet扩展分析

  JSR规范规定所有Portlet都必须直接地或者间接地实现Portlet接口同时也提供了一个叫GenericPortlet的基类该类继承了Portlet接口统一定义了可供Portal容器识别和调用

知识大全 AJAX的拼音首字母查找对应中文的portlet

AJAX的拼音首字母查找对应中文的portlet  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 用过滤器使现有Portlet适应新门户应用程序

用过滤器使现有Portlet适应新门户应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引

知识大全 个人考勤软件开发实例

  个人考勤软件开发实例    作者:YangLanGuang  CAttendanceDlgdlg;之后立即把这个对象的指针信息存入CWinApp::m_pM

知识大全 JSP自定义标签开发入门

JSP自定义标签开发入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一般情况下开发jsp自定