标签: spring-portlet-mvc

spring-mvc(portlet):如何在打开文件对话框中返回pdf文件?

我在为我@ActionMapping创建一个PDF文件.现在我想知道如何以保存/打开文件对话框的形式将这个pdf返回给用户?如果这一代人成功的话,我更喜欢这个显示下载链接.

我将spring-mvc 3.0.5与portlet结合使用.但是,如果有人有一些正常应用程序的指针,那么我可以从那里弄清楚.对于2.0,我读了一些关于扩展pdfgenerator类并在web.xml中进行修改的内容但是从现在开始我们只需要POJO ....


编辑:Adeel建议后的代码:

File file = new File("C:\\test.pdf");
        response.setContentType("application/pdf");

        try {
            byte[] b = new byte[(int) file.length()];
            OutputStream out = response.getPortletOutputStream();
            out.write(new FileInputStream(file).read(b));
            out.flush();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return "users/main";
Run Code Online (Sandbox Code Playgroud)

java spring portlet spring-mvc spring-portlet-mvc

8
推荐指数
1
解决办法
2万
查看次数

Spring portlet mvc:@Valid似乎不起作用

我创建了一个bean类并在我的控制器中使用它,但它似乎不起作用.即使我进入无效年龄,result.hasErrors仍然是假的.

Bean类:

public class User{
    @Min(13)
    private int age;
    private String name;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName(){
            return name;
    }

    public void setName(String name){
            this.name = name;
    }   
}
Run Code Online (Sandbox Code Playgroud)

控制器片段:

@ActionMapping(params = "myAction=validateUser")
    public void validateUser(ActionRequest request, ActionResponse response, ModelMap model, @ModelAttribute("user") @Valid User user, BindingResult result ){      

        if(result.hasErrors()){
            for(ObjectError oe : result.getAllErrors()){
                System.out.println(oe.getDefaultMessage());
            }
        } else{
            //code
        }
    }
Run Code Online (Sandbox Code Playgroud)

JSP:

<form:form action="${registerUser}" method="post" …
Run Code Online (Sandbox Code Playgroud)

java validation spring portlet spring-portlet-mvc

7
推荐指数
2
解决办法
1万
查看次数

如何使用基于Spring MVC注释的portlet控件通过AJAX呈现JSON视图/响应?

我花了最近六个小时来搜索谷歌和stackoverflow来回答这个问题.我原来是一名PHP开发人员,所以请耐心等待 - 从PHP控制器返回一个JSON数组是微不足道的.

我正在使用Spring MVC 3.0,我只想将JSON对象从我的Spring MVC Controller返回给一些Javascript.目前似乎没有简单的方法来使用portlet(https://jira.springsource.org/browse/SPR-7344)进行此操作.我见过的解决方案建议创建另一个提供JSON响应的DispatcherServlet,但我还没有找到一个记录良好的例子.如果有人知道一个很好的方法来完成这个(最好带注释),请告诉我!

ajax json portlet spring-mvc spring-portlet-mvc

5
推荐指数
1
解决办法
1万
查看次数

@ ActionMapping,@ RequestMapping,@ Rendermapping之间的区别

之间的差异@RequestMapping,@ActionMapping@RenderMapping没有对我很清楚.似乎所有上述内容最终都将请求URL映射到控制器中的实际方法.那么区别是什么呢?什么可以这样做@Rendermapping不能被做@Requestmapping

annotations spring-mvc spring-portlet-mvc

5
推荐指数
1
解决办法
1万
查看次数

在Spring Portlet MVC Architecture中提供PDF - Liferay 6.0.6

我正在寻找一种通过Liferay Portal将PDF(直接显示)文件发送到浏览器的方法.找到了许多解决方案 - 最受欢迎的解决方案是编写一个可以完成工作的Servlet.我已经阅读了JSR 286规范中关于Portlet资源服务的内容,有人可以为Spring 3.0 Portlet MVC详细说明吗?

<servlet>
    <display-name>DownloadServlet</display-name>
    <servlet-name>DownloadServlet</servlet-name>
    <servlet-class>com.liferay.portal.pdf.DownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DownloadServlet</servlet-name>
    <url-pattern>/DownloadServlet/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

Servlet包括:

private void downloadServlet(HttpServletRequest req,
            HttpServletResponse resp) throws ServletException, IOException {

        logger.debug(" downloadServlet ::  ");
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        ServletOutputStream op = null;
        try {
            //Something
            pdfContentVO=//getpdf VO here

            String filename = "PDFFILE_"+pdfNumber+".pdf";

            op = resp.getOutputStream();
            resp.setContentType("application/pdf");     
            resp.setHeader("Content-Disposition", "attachment; filename="
                    + filename);
            resp.setContentLength(pdfContentVO.getPdfData().length); 
            System.out.println("pdfcontent"+pdfContentVO.getPdfData());
            op.write(pdfContentVO.getPdfData());
            op.flush();
            op.close();


         } catch(final IOException e) {
            System.out.println ( "IOException." );
            throw e;
        } …
Run Code Online (Sandbox Code Playgroud)

portal spring-mvc liferay liferay-6 spring-portlet-mvc

3
推荐指数
1
解决办法
7526
查看次数

如何从 Liferay 7 取消部署 portlet?

我正在学习如何在 Liferay 7 CE GA 3 门户平台上创建 portlet。

为此,我按照 liferay 站点中给出的教程,使用 maven、gradle 创建了一些测试 portlet。

但现在,我需要从服务器中删除这些 portlet。每当我启动 Liferay 捆绑包中提供的 tomcat 服务器时,那些先前部署的 portlet 就会出现在网页上。我已经尝试过,但找不到部署在tomcat内部的war文件,无法删除它们。

我尝试删除 liferay 工作目录中的 portlet 文件夹并清除临时目录,但这没有帮助。

PS:我通过将 war 文件复制到 liferay 包的“部署”目录来手动部署 portlet。

tomcat portlet maven spring-portlet-mvc liferay-7

3
推荐指数
1
解决办法
4301
查看次数

找不到portlet请求的处理程序:mode'view',phase'RENDER_PHASE'

我在Spring MVC中开发了一个portlet,它部署在Liferay中.显然,我有一个portlet视图模式的渲染阶段的问题.

控制器用于查看模式

package graphui.controller;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;
import org.springframework.web.portlet.bind.annotation.ActionMapping;
import org.springframework.web.portlet.bind.annotation.RenderMapping;

/**
 *
 * Controller for VIEW mode of portlet.
 */
@Controller("graphViewController")
@RequestMapping(value = "VIEW")
public class GraphViewController{

    @ActionMapping
    public void handleActionRequest(ActionRequest request, ActionResponse response)throws Exception {
        return;
    }

    @RenderMapping
    public ModelAndView handleRenderRequest(RenderRequest request, RenderResponse response, ModelMap model) {

      model.addAttribute("nodes", "123");
      model.addAttribute("edges", "123");
      return new ModelAndView("index", model);

    }

}
Run Code Online (Sandbox Code Playgroud)

的index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="spring" …
Run Code Online (Sandbox Code Playgroud)

portlet spring-portlet-mvc

2
推荐指数
1
解决办法
8679
查看次数

如何使用AJAX调用具有指定URL的Controller的@RequestMapping方法

我是Spring和Portlet的新手.我想用jqgrid来显示一些列表.我试图在控制器中调用一个方法,该方法使用@RequestMapping进行注释,但该方法未被调用

我的控制器有以下方法

@Controller(value = "myController")
public class MyController {
    @RequestMapping(value="/myURL",method=RequestMethod.GET)
    public @ResponseBody MyDTO  initItemSearchGrid(RenderResponse response, RenderRequest request){
        MyDTO myDto=new MyDTO();
        return myDto;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的JSP代码使用AJAX

var urlink="/myURL"; /* myURL is the exact String written in value Attribute of
                              resourceMapping in Controller*/
$.ajax({
    url :urlink,
    cache: false,
    data:$('#myForm').formSerialize(),
    dataType: "json",
    type: "GET",
    contentType: "application/json; charset=utf-8",
    success: function(jsondata){
       ...
    }
});
Run Code Online (Sandbox Code Playgroud)

当上面的AJAX代码正在执行时,我的方法不会被调用.

ajax spring portlet spring-portlet-mvc

1
推荐指数
1
解决办法
1万
查看次数