找了半天,可是没找到,看一个误导的,说设置成portlet-mode=edit_defaults_compatibility
结果进到页面总说是portletmode为edit,真气死了。
后来又看说是用edit_defaults来,结果总说找不到action default。
直气到看源代码:
200: parseModeConfig(cfg, new PortletMode("config"), "configNamespace",
201: "defaultConfigAction");
202: parseModeConfig(cfg, new PortletMode("about"), "aboutNamespace",
203: "defaultAboutAction");
204: parseModeConfig(cfg, new PortletMode("print"), "printNamespace",
205: "defaultPrintAction");
206: parseModeConfig(cfg, new PortletMode("preview"), "previewNamespace",
207: "defaultPreviewAction");
208: parseModeConfig(cfg, new PortletMode("edit_defaults"),
209: "editDefaultsNamespace", "defaultEditDefaultsAction");
这里把edit_default全改成了editDefault,不然怎么找到呢,倒是说一声呀,不看到源码,这不是自己急死吗?
最后把这段好了的贴上
<portlet id="cm-bulletin-portlet">
<description xml:lang="EN">cm-bulletin-portlet</description>
<portlet-name>cm-bulletin-portlet</portlet-name>
<display-name xml:lang="EN">cm-bulletin-portlet</display-name>
<portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class>
<init-param>
<name>viewNamespace</name>
<value>/view</value>
</init-param>
<init-param>
<name>editNamespace</name>
<value>/edit</value>
</init-param>
<init-param>
<name>helpNamespace</name>
<value>/help</value>
</init-param>
<init-param>
<name>editDefaultsNamespace</name>
<value>/edit_defaults</value>
</init-param>
<init-param>
<name>defaultEditDefaultsAction</name>
<value>bulletin_showform_default</value>
</init-param>
<init-param>
<name>defaultViewAction</name>
<value>bulletin_view</value>
</init-param>
<init-param>
<name>defaultEditAction</name>
<value>bulletin_showform</value>
</init-param>
<init-param>
<name>defaultHelpAction</name>
<value>help</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode>
<portlet-mode>help</portlet-mode>
<portlet-mode>edit_defaults</portlet-mode>
</supports>
<supported-locale>en</supported-locale>
<portlet-info>
<title>cm-bulletin-portlet</title>
<short-title>cm-bulletin-portlet</short-title>
<keywords>cm-bulletin-portlet,ssh</keywords>
</portlet-info>
</portlet>
<custom-portlet-mode>
<portlet-mode>edit_defaults</portlet-mode>
</custom-portlet-mode>
当然,还要改struts.xml,鉴于基本没有此类文章,这里记下,为为此而找不到原因的各位指路。
分享到:
相关推荐
Struts2_Portlet Pluto_Demo 是一个基于Struts2框架和Pluto Portlet Container的示例项目,旨在展示如何在Java Portlet环境下利用Struts2进行开发。这个项目可以帮助开发者理解如何将流行的MVC框架Struts2与portlet...
在标题和描述中提到的"struts2_spring_json.rar"是一个关于如何在Liferay中利用Struts2和Spring框架处理JSON数据的示例应用。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端交互,...
总结来说,"struts2+liferay集成"涉及到的主要知识点包括:Liferay IDE和SDK的使用,Portlet的生命周期和开发,Struts2框架的配置和Action机制,以及Liferay服务API的调用。通过这个集成,开发者可以充分利用两者的...
### Struts2-Portlet学习手册 #### 一、引言 随着企业级应用的不断发展,门户技术在其中扮演了越来越重要的角色。Portlet作为门户技术的重要组成部分,它能够为用户提供个性化的内容和服务。而在众多Portlet开发...
pdf格式,本文从Liferay Portal的架构入手,详细讲解Portal的用户策略、内容布局、桌面和品质的要素,引导读者完成Liferay Portal初步的二次开发,在Liferay Portal上定制自己的Portlet。
Struts2 + Pluto + Portlet V1.0 (JSR 168) CRUD Demo 是一个基于Java技术的Web应用程序示例,展示了如何在portlet环境下实现CRUD(创建、读取、更新、删除)操作。这个DEMO的核心是将Struts2作为MVC框架,Pluto作为...
Portlet通过portlet容器(如Liferay、IBM WebSphere Portal等)运行,容器负责管理portlet的生命周期、渲染、事件处理和通信。 二、Web表单开发 Web表单是网页上用于收集用户输入数据的元素集合,通常包括文本框、...
"IBM Portlet for Google Gadgets" 是一个功能组件,旨在将Google Gadgets(小型应用程序或小工具)集成到IBM WPS环境中,从而为用户提供更丰富的交互体验和定制化功能。 Google Gadgets是一种基于开放标准的小型...
Struts2 JSR168 Portlet的开发是构建在Java Portlet规范(JSR168)基础上,结合流行的MVC框架Struts2来创建适用于企业级门户平台的应用组件。这种开发方式允许开发者利用Struts2的强大功能,如Action、Interceptor、...
IBM Portlet API是WebSphere Portal应用开发中的核心组件,它为构建portlet提供了一套标准的接口和类库。Portlet是一种可重用的Web组件,它们可以集成到门户环境中,展示来自不同数据源的信息,并与用户进行交互。...
JSR168是portlet API的第一个版本,它为portlet开发提供了一套标准接口,使得portlet可以在不同的portlet容器中运行,比如IBM WebSphere Portal或Liferay Portal。 在JSR168中,portlet主要负责与用户交互,而...
【标题】"jsr168portlet(struts2+spring2.5+hibernate3.3)" 是一个基于Java的Web开发项目,它利用了JSR 168规范来实现portlet的功能,并结合了Struts2、Spring2.5和Hibernate3.3这三个框架的强大功能。JSR 168是Java...
在Liferay中,Struts2可以作为portlet的控制器,负责处理用户交互和转发到相应的视图。 **Spring** 是一个全面的Java企业级应用开发框架,涵盖了依赖注入、面向切面编程、事务管理、数据访问等多个方面。在本案例中...