2017-07-22 28 views
1

私はSpringブートを使用してSpring MVCアプリケーションを作成しています。 Controllerクラスから読み込まれたDepartmentオブジェクトのリストとテキストを表示しようとしています。起動アプリケーションが実行されると、コントローラのList変数に値が移入され、ページは前述のJSPにリダイレクトされます。Springブート - JSPがレンダリングされない

問題は、このような出力です。 Screenshot of the output

指定されたELに値を入力します。どんな助力も非常に感謝しています。

次のコードが使用されています。

Department.jsp

<!DOCTYPE html> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html lang="en"> 
<head> 
</head> 
<body> 
    <div> 
     <div> 
      <h1>${message}</h1> 
       <ul> 
       <c:forEach var="listValue" items="${DepartmentList}" > 
         <li>${listValue.deptName}</li> 
       </c:forEach> 
       </ul> 
     </div> 
    </div> 
</body> 
</html> 

SpringMVCApplication.java

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.boot.builder.SpringApplicationBuilder; 
import org.springframework.boot.web.support.SpringBootServletInitializer; 

@SpringBootApplication 
public class SpringMVCApplication extends SpringBootServletInitializer{ 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
     return builder.sources(SpringMVCApplication.class); 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(SpringMVCApplication.class, args); 
    } 

} 

MVCConfiguration.java

import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry; 
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
import org.springframework.web.servlet.view.InternalResourceViewResolver; 


@Configuration 
@EnableWebMvc 
@ComponentScan(value = "com.practices.spring.mvc") 
public class MVCConfiguration extends WebMvcConfigurerAdapter { 

    @Override 
    public void configureViewResolvers(ViewResolverRegistry registry) { 
     InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setPrefix("/WEB-INF/view/"); 
     resolver.setSuffix(".jsp"); 
     resolver.setContentType("application/html"); 

     registry.viewResolver(resolver); 
    } 

    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { 
     configurer.enable(); 
    } 


} 

DepartmentController.java

import java.util.ArrayList; 
import java.util.List; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 

import com.practices.spring.mvc.valueobject.Department; 

@Controller 
public class DepartmentController { 


    @RequestMapping(method = RequestMethod.GET, value = "/depts") 
    public ModelAndView getAllDepartments(){ 
     ModelAndView mv = new ModelAndView("Department"); 
     List<Department> deptList = populateDepartment(); 

     mv.addObject("DepartmentList", deptList); 
     mv.addObject("message", "Hi"); 


     return mv; 
    } 




    private List<Department> populateDepartment(){ 
     List<Department> deptListTemp = new ArrayList<>(); 
     Department dept1 = new Department("1", "Finance"); 
     Department dept2 = new Department("2", "CRO"); 
     deptListTemp.add(dept1); 
     deptListTemp.add(dept2); 

     return deptListTemp; 

    } 

} 

Department.java

package com.practices.spring.mvc.valueobject; 

public class Department { 
    private String deptId; 
    private String deptName; 

    public Department(){} 

    public Department (String deptIdentification, String deptartmentName){ 
     deptId = deptIdentification; 
     deptName = deptartmentName; 
    } 

    public String getDeptId() { 
     return deptId; 
    } 
    public void setDeptId(String deptId) { 
     this.deptId = deptId; 
    } 
    public String getDeptName() { 
     return deptName; 
    } 
    public void setDeptName(String deptName) { 
     this.deptName = deptName; 
    } 


    public String toString(){ 
     return "[deptId : "+deptId +" ! deptName : "+deptName+"]"; 
    } 


} 

答えて

0

を追加

<dependency> 
    <groupId>org.apache.tomcat.embed</groupId> 
    <artifactId>tomcat-embed-jasper</artifactId> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <scope>provided</scope> 
</dependency> 
+1

Mavenエントリを追加した後、Fineが機能しました。どうもありがとう –

1

あなたのプロジェクトにJSPとJSTLの瓶を持っていますか?

あなたはMavenを使用する場合は、pom.xmlに依存関係の下に追加してみてくださいことはできますか?

<dependency> 
    <groupId>javax.servlet.jsp</groupId> 
    <artifactId>javax.servlet.jsp-api</artifactId> 
    <version>2.3.1</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>javax.servlet.jsp.jstl</groupId> 
    <artifactId>javax.servlet.jsp.jstl-api</artifactId> 
    <version>1.2.1</version> 
</dependency> 
関連する問題