在portlet的前端页面,所有链接都被变形了,所以如果想用ajax的方式拼出一个链接,以转向到portlet中的其它页面,则直接的方式是不可行的。
原来写的ajax操作后台动作,以保持前端可视的作法,会出现问题。
看了很多解法,最后还是一个老外的代码让我找到了思路。
原来写成 xxxx.do?xxx=xxx&xxx=xxx的写法,在portlet+struts中要写成<a href="<s:url action="xxxx.do?xxx=xxx&xxx=xxx" portletUrlType="action" portletMode="view"/>xxxx</a>
也就是说,在页面出来之前,由struts生成链接,再由portal进行变形,这样的话,后面的xxx=xxx&xxx=xxx就不能在页面生成以后,再由script来拼成了。
解决的方式是:不要有“get”方式来做,由ajax以POST方式访问xxxx.do再将参数传入。大致如下:
var ajax=new Ajax.Request("xxxx.do",
method:"post",
parameter:{
"xxx":"xxx",
"xxx":"xxx},
onComplete:fuction(r){xxxxxxxx}
);
也就是说,以post方式传参数时,参数不会与url混合而变形,这也是portlet与ajax结合的好办法了。
分享到:
相关推荐
struts.jar spring-web.jar spring-webmvc.jar spring-portlet.jar struts.jar commons-fileupload.jar commons-httpclient.jar freemarker.jar jasperreports-1.3.3.jar commons-io.jar...
5. **AJAX请求与响应**:学习如何使用JavaScript(可能包括jQuery或其他库)发起异步请求,以及如何解析接收到的JSON数据并更新portlet视图。 6. **Liferay Portal API**:可能涉及到如何使用Liferay提供的API来注册...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
- Portlet与常见的Web框架(如Spring MVC、Struts等)有所不同,因为它专注于在Portal环境中提供服务。 - 开发Portlet时可能会使用到某些Web框架的部分功能,但总体上来说,Portlet遵循的是自己的一套规范和标准。 ...
**Struts2 + Pluto + Portlet V1.0 (JSR 168) CRUD Demo 知识点详解** 在Web开发领域,Struts2、Pluto和Portlet V1.0 (JSR 168)是重要的技术组件,它们共同构成了一个强大的企业级应用框架。下面将详细介绍这些技术...
Portlet Config包含了Portlet的配置信息,如初始化参数、资源束、事件命名空间等。它是Portlet启动和运行的基础。 #### Portlet Context Portlet Context提供了Portlet上下文信息,它与ServletContext有着密切的...
9. **Portlet支持**:Struts2还支持Portlet规范,这使得它能够在门户环境中作为Portlet运行,而无需对现有代码进行重大修改。 #### 三、Struts2的历史与发展 - **起源**:Struts最初是由程序员Craig R. McClanahan...
16. **struts2-portlet-plugin.jar**:对于portlet环境的支持,如Liferay等portlet容器。 以上JAR文件的集合,涵盖了Struts2框架的各个方面,包括但不限于动作调度、视图渲染、国际化、验证、AOP拦截器、依赖注入、...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...