0

少し助けてほしい。Spring MVC と tiles 2 を使用する Web アプリケーションがあり、昨日 displaytag を追加しましたが、任意の形式でテーブルをエクスポートしたい場合、テーブルのデータが一列に並んだページにリダイレクトされます。

これが私のweb.xmlです

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>





<filter>
    <filter-name>ResponseOverrideFilter</filter-name>
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
</filter>

<!-- Filter mapping for the export -->


<filter-mapping>
    <filter-name>ResponseOverrideFilter</filter-name>
    <url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>ResponseOverrideFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>


<welcome-file-list>
    <welcome-file>index.html</welcome-file>
</welcome-file-list>


 <!-- Filter for the export, need that when using Struts and tiles -->




<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

ここに私のjspファイルがあります

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page contentType="   ;charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>


<html>
<head>
<title><spring:message code="label.listeggrafo" /></title>

<style type="text/css">
.pagingItem {
 font-weight: normal;
text-decoration: none;
color: #747474;
margin: 0 2px;
padding: 0 2px;
background-color: #eeeeee;
border: 1px solid #bababa;
font-size: 0.9em;
line-height: 1.5em;
}
.pagingItemCurrent {
padding: 0 2px;
margin: 0 2px;
font-weight: normal;
color: #FFFFFF;
background-color: #bfbfbf;
border: 1px solid #bfbfbf;
font-size: 0.9em;
}
</style>
</head>
<body>
<h1><spring:message code="label.listeggrafo" /></h1>


<display:table name="eggrafa" class="table" requestURI="" id="eggrafa" export="true" pagesize="10">
<display:column property="aa" sortable="true" href="update.html" media="html"
    paramId="aa" paramProperty="aa" titleKey="label.aa"/>
<display:column property="diabathmisi" sortable="true"  titleKey="label.diab"/>
<display:column property="apostoleas" sortable="true" titleKey="label.apostol"/>
<display:column property="tautotitaeg" sortable="true" titleKey="label.tauteg"/>

<display:setProperty name="export.pdf.filename" value="ActorDetails.pdf"/>
<display:setProperty name="export.excel.filename" value="ActorDetails.xls"/>


</display:table>





</body>

これが私のコントローラーです

 @RequestMapping(value = "/listeggrafo" , method = RequestMethod.GET)
    public ModelAndView listeggrafo(@ModelAttribute("eggrafo") Eggrafo eggrafo,@ModelAttribute("typoi") TypoiEggrafou typoi,HttpSession session,HttpServletRequest request) {
         if(session.getAttribute("name")!=null){

            Map<String, Object> model1 = new HashMap<String, Object>();
            model1.put("eggrafa",  articleService.listeggrafa(session.getAttribute("name").toString()));


                            return new ModelAndView("listeggrafa",model1);


        }else{
            return new ModelAndView("redirect:/articles/login.html");
        }
    }

そして、任意の形式でエクスポートすることを選択すると、ダウンロードするものは何も表示されず、ページにリダイレクトされるだけです

http://localhost:8080/Spring3Hibernate/articles/listeggrafo.html?d-1331701-e=3&6578706f7274=1

なぜこれが起こるのか誰か知っていますか?私がインターネットを見ていると、タイルに問題があると誰かが言っています。助言がありますか?

4

1 に答える 1

0

ResponseOverrideFilter の url-pattern が正しくない可能性があります。次の URL パターンを試してください。

<filter>
    <filter-name>ResponseOverrideFilter</filter-name>
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>ResponseOverrideFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

また、レンダリング時にdisplayTagに対して生成されるURLを確認してください。requestURIの属性を指定する必要がある場合があります<displayTag>

于 2012-11-20T02:04:40.787 に答える