2016-03-29 2 views
0

Ich bin verzweifelt, denen ich folge alle Tutorials und die Dokumentationen und i erfolgreich ein wenig hallo Controller erstellen mit Federverschluß, aber wenn ich Ich versuche, Spring Boot auf meinem Projekt zu verwenden, alle Attribute des Spring Model/Modelview sind nicht geladen und ich weiß nicht warum. Hier mein pom.xml:Frühlings-Boot-Attribute des Modells sind nicht auf JSP-Seite geladen

<?xml version="1.0" encoding="UTF-8"?> 

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0

<groupId>com.github.p4535992</groupId> 
<artifactId>springMVC12</artifactId> 
<version>1.6.10</version> 
<packaging>war</packaging> 

<name>springMVC12</name> 
<description>Demo project for Spring Boot using JSPs</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.3.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <!-- Generic properties --> 
    <downloadSources>true</downloadSources> 
    <downloadJavadocs>true</downloadJavadocs> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.build.outputEncoding>UTF-8</project.build.outputEncoding> 
    <java.version>1.8</java.version> 
    <!-- Version of the Maven properties --> 
    <maven-eclipse-plugin.version>2.9</maven-eclipse-plugin.version> 
    <maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version> 
    <maven-source-plugin.version>2.3</maven-source-plugin.version> 
    <maven-javadoc-plugin.version>2.3</maven-javadoc-plugin.version> 
    <maven-war-plugin.version>2.6</maven-war-plugin.version> 
    <maven-exec-plugin.version>1.1.1</maven-exec-plugin.version> 
    <maven-tomcat7-plugin.version>2.2</maven-tomcat7-plugin.version> 
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version> 

    <mysql.version>5.1.6</mysql.version> 
    <javax.servlet.jstl.version>1.2</javax.servlet.jstl.version> 
    <!-- Json--> 
    <json-path.version>2.0.0</json-path.version> 
    <com.fasterxml.jackson.core.version>2.5.3</com.fasterxml.jackson.core.version> 
    <!-- Logging --> 
    <spring-boot-starter-logging.version>1.2.4.RELEASE</spring-boot-starter-logging.version> 
    <!-- Test --> 
    <junit.version>4.12</junit.version> 
    <com.github.dandelion.version>0.10.1</com.github.dandelion.version> 
    <!-- Apache and Commons --> 
    <commons-fileupload.version>1.3.1</commons-fileupload.version> 
    <commons-io.version>2.4</commons-io.version> 
    <commons-codec.version>1.10</commons-codec.version> 

    <!-- UTILITY Github --> 
    <com.github.p4535992.utility.version>1.6.10</com.github.p4535992.utility.version> 
    <!--<com.github.p4535992.gate-basic.version>1.6.5</com.github.p4535992.gate-basic.version>--> 
    <com.github.p4535992.ExtractInfo.version>1.6.10</com.github.p4535992.ExtractInfo.version> 

    <start-class>com.github.p4535992.mvc.JspDemoApplication</start-class> 
    <!-- <tomcat.version>7.0.52</tomcat.version>--> 

</properties> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.github.p4535992</groupId> 
      <artifactId>extractInfo</artifactId> 
      <version>${com.github.p4535992.ExtractInfo.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>com.github.p4535992</groupId> 
        <artifactId>utility</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>org.springframework</groupId> 
        <artifactId>*</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>javax.servlet</groupId> 
        <artifactId>servlet-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>com.github.p4535992</groupId> 
      <artifactId>utility</artifactId> 
      <version>${com.github.p4535992.utility.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework</groupId> 
        <artifactId>*</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>javax.servlet</groupId> 
        <artifactId>servlet-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-tomcat</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
    </dependency> 

    <!-- Other Spring boot dependency --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-devtools</artifactId> 
     <optional>true</optional> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <!--<scope>provided</scope>--> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-core</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jdbc</artifactId> 
     <!-- <scope>provided</scope>--> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-logging</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
     <!-- <scope>provided</scope>--> 
    </dependency> 
    <!-- <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency>--> 
    <!--<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-thymeleaf</artifactId> 
    </dependency>--> 

    <!-- Github dependency --> 
    <dependency> 
     <groupId>com.github.p4535992</groupId> 
     <artifactId>extractInfo</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.github.p4535992</groupId> 
     <artifactId>utility</artifactId> 
    </dependency> 

    <!-- MySQLDatabase --> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>${mysql.version}</version> 
    </dependency> 

    <!-- ===================== --> 
    <!-- Needed for JSON View --> 
    <!-- ===================== --> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>${com.fasterxml.jackson.core.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-annotations</artifactId> 
     <version>${com.fasterxml.jackson.core.version}</version> 
    </dependency> 
    <!-- Need for get json response with controller --> 
    <dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-mapper-asl</artifactId> 
     <version>1.9.13</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-core</artifactId> 
     <version>${com.fasterxml.jackson.core.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>com.jayway.jsonpath</groupId> 
     <artifactId>json-path</artifactId> 
     <version>${json-path.version}</version> 
     <scope>test</scope> 
    </dependency> 

    <!-- Dandelion --> 
    <dependency> 
     <groupId>com.github.dandelion</groupId> 
     <artifactId>datatables-jsp</artifactId> 
     <version>${com.github.dandelion.version}</version> 
    </dependency> 

    <!-- Test --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>${junit.version}</version> 
     <scope>test</scope> 
    </dependency> 


    <!-- Apache and Commons --> 
    <!-- NOTE: commons-dbcp replace from tomcat-jdbc --> 
    <dependency> 
     <groupId>commons-fileupload</groupId> 
     <artifactId>commons-fileupload</artifactId> 
     <version>${commons-fileupload.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>${commons-io.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-codec</groupId> 
     <artifactId>commons-codec</artifactId> 
     <version>${commons-codec.version}</version> 
    </dependency> 

    <!-- Needed for PDF View --> 
    <dependency> 
     <groupId>com.lowagie</groupId> 
     <artifactId>itext</artifactId> 
     <version>4.2.1</version> 
    </dependency> 

    <!-- Needed for XLS View --> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.10-beta2</version> 
    </dependency> 

    <!-- Needed for RSS View--> 
    <dependency> 
     <groupId>com.rometools</groupId> 
     <artifactId>rome</artifactId> 
     <version>1.5.0</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.taglibs</groupId> 
     <artifactId>taglibs-standard-impl</artifactId> 
     <version>1.2.5</version> 
    </dependency> 

</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 

     <!-- ****************************************--> 
     <!-- Copy dependency jar to a m2 folder --> 
     <!-- ****************************************--> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.10</version> 
      <executions> 
       <execution> 
        <id>copy-dependencies</id> 
        <phase>package</phase> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${user.dir}/lib</outputDirectory> 
         <overWriteReleases>false</overWriteReleases> 
         <overWriteSnapshots>false</overWriteSnapshots> 
         <overWriteIfNewer>true</overWriteIfNewer> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

Hier mein MapController.java:

@Controller 

public class MapController {

private static final org.slf4j.Logger logger = 
     org.slf4j.LoggerFactory.getLogger(MapController.class); 

@Autowired 
private MapService mapService; 

@Autowired 
private FileService fileService; 

private Marker marker; 
private List<Marker> arrayMarker = new ArrayList<>(); 

private String arrayMarker2 =""; 
//List<Marker> supportArray = new ArrayList<>(); 
private Integer indiceMarker = 0; 

/*@RequestMapping(value="/map",method= RequestMethod.GET) 
public String loadMap1(Model model){ 
    String html = mapService.getResponseHTMLString(); 
    return "riconciliazione2/mappa/map"; 
} 
@RequestMapping(value="/map",method = RequestMethod.POST) 
public String result(@RequestParam(required=false, value="urlParam")String url,Model model){ 
    System.out.println("url: " + url); 
    return "home"; 
}*/ 


@RequestMapping(value="/map",method= RequestMethod.GET) 
public String loadMap2(Model model){ 
    //String html = mapService.getResponseHTMLString(); 
    //Site siteForm = new Site(); 
    //model.addAttribute("siteForm",siteForm); 
    if(!arrayMarker.isEmpty()) model.addAttribute("arrayMarker",arrayMarker); 
    else model.addAttribute("arrayMarker",null); 

    arrayMarker2 = JsonUtilities.writeListToJsonArray(arrayMarker); 
    if(arrayMarker2 != null) model.addAttribute("arrayMarker2",arrayMarker2); 
    else model.addAttribute("arrayMarker2",""); 

    if(marker!=null)model.addAttribute("marker",marker); 
    else model.addAttribute("marker",null); 

    model.addAttribute("indiceMarker",indiceMarker); 
    model.addAttribute("urlParam",null); 

    String html = mapService.getResponseHTMLString(); 
    model.addAttribute("HTML",html); 

    return "riconciliazione2/mappa/leafletMap"; 
} 


/*@RequestMapping("*") 
public String hello(HttpServletRequest request,Model model) { 
    System.out.println(request.getServletPath()); 
    String MAIN = mapService.homeMain(); 
    model.addAttribute("MAIN",MAIN); 
    return "main"; 
}*/ 

@RequestMapping("/") 
public String homeMain(Model model){ 
    return "main"; 
} 

@RequestMapping(value="/main",method= RequestMethod.GET) 
public String homeMain2(Model model){ 
    //String MAIN = mapService.homeMain(); 
    //model.addAttribute("MAIN",MAIN); 
    return "main"; 
} 


//--------------------------------------------------------- 
// NEW GET METHOD 
//--------------------------------------------------------- 
@RequestMapping(value="/map13",method= RequestMethod.GET) 
public String loadMap13(){ 
    Model model = new ExtendedModelMap(); 
    //String html = mapService.getResponseHTMLString(); 
    //Site siteForm = new Site(); 
    //model.addAttribute("siteForm",siteForm); 
    if(!arrayMarker.isEmpty()) model.addAttribute("arrayMarker",arrayMarker); 
    else model.addAttribute("arrayMarker",null); 

    arrayMarker2 = JsonUtilities.writeListToJsonArray(arrayMarker); 
    if(arrayMarker2 != null) model.addAttribute("arrayMarker2",arrayMarker2); 
    else model.addAttribute("arrayMarker2",null); 

    if(marker!=null)model.addAttribute("marker",marker); 
    else model.addAttribute("marker",null); 

    model.addAttribute("indiceMarker",indiceMarker); 
    model.addAttribute("urlParam",null); 

    //String html = mapService.getResponseHTMLString(); 
    //model.addAttribute("HTML",html); 
    //model.addAttribute("supportArray",supportArray); 
    return "riconciliazione2/mappa/leafletMap5"; 
} 

//--------------------------------------------------------- 
// NEW POST METHOD 
//--------------------------------------------------------- 


@RequestMapping(value="/map3",method = RequestMethod.POST) 
public String result4(@RequestParam(required=false, value="urlParam")String url, 
         @RequestParam(required=false,value="arrayParam")List<String> arrayParam 
         //@ModelAttribute(value="arrayParam") MarkerList arrayParam 
         //@ModelAttribute(value="markerParam")Marker markerFromJS 
){ 

    if(arrayParam!= null && !arrayParam.isEmpty()){ 
     for(String smarker : arrayParam){ 
      if(StringUtilities.isNullOrEmpty(smarker))continue; 
      marker = new Marker(); 
      try { 
       marker = JsonUtilities.fromJson(smarker,Marker.class); 
      } catch (IOException ioe) { 
       ioe.printStackTrace(); 
      } 
      arrayMarker.add(marker); 
      indiceMarker++; 
     } 
    } 

    if(!StringUtilities.isNullOrEmpty(url)) { 
     String[] splitter; 
     if (url.contains(",")) { 
      splitter = url.split(","); 
      url = splitter[0]; 
     } 

     System.out.println("url: " + url); 
     marker = new Marker(); 
     marker = mapService.createMarkerFromGeoDocument(url); 
     // = new Marker("City",url,"43.3555664", "11.0290384"); 
     //model.addAttribute("marker",marker); //no need is get from the HTTTP GET COMMAND 
     arrayMarker.add(marker); 
     indiceMarker++; 
    } 
    return "redirect:/map13"; 
} 

Hier der Link zu meiner JSP-Seite: JSPPage

Ich weiß nicht, warum, aber das Attribut arrayMarker2 immer leer ist, und dass mir Nüsse geben. Den vollständigen Code des Projekts finden Sie unter diesem Link springMVC12. Ty im Voraus für jede Hilfe.

Antwort

0

Ok, ich löste mich selbst, aber ich bin mir nicht sicher, wie. Ich ersetze einfach alle Model of Springframework mit dem ModelAndView Object.

Verwandte Themen