簡體   English   中英

在tomcat中部署戰爭時,jstl函數無法在Spring Boot Web應用程序中呈現

[英]jstl functions not rendering in spring boot web application when war deployed in tomcat

當部署在tomcat jstl函數中的spring boot web應用程序無法渲染時,請在這個問題上幫助我。
在tomcat中部署war時應進行哪些更改添加了依賴項:

<parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.2.RELEASE</version>
        </parent>

        <properties>

            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>1.8</java.version>
            <start-class>com.**.BootConfig.Application.java</start-class>
        </properties>


        <dependencies>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
            </dependency>

            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-el</artifactId>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>taglibs</groupId>
                <artifactId>standard</artifactId>
                <version>1.1.2</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-taglibs</artifactId>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.webjars</groupId>
                <artifactId>jquery</artifactId>
                <version>2.2.4</version>
            </dependency>

            <dependency>
                <groupId>org.webjars</groupId>
                <artifactId>bootstrap</artifactId>
                <version>3.3.7</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.jdt.core.compiler</groupId>
                <artifactId>ecj</artifactId>
                <version>4.6.1</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </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-security</artifactId>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
            </dependency>
        </dependencies>

我試圖使用的JSP頁面功能

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
    <%@ taglib prefix="coe" tagdir="/WEB-INF/tags"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

在此頁面中,這些功能未按原樣呈現。

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
    <%@ taglib prefix="coe" tagdir="/WEB-INF/tags"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

我們是否需要添加任何特定於使用所有這些功能的內容。 還有更多需要發布的信息。

添加jsp頁面。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="coe" tagdir="/WEB-INF/tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">


<!-- ----CSS Files ----- -->
<link type="text/css" rel="stylesheet"
    href="<c:url value="/css/bootstrap.min.css"/>" />
<link type="text/css" rel="stylesheet"
    href="<c:url value="/font-awesome/css/font-awesome.min.css"/>" />
<link type="text/css" rel="stylesheet"
    href="<c:url value="/css/owl.carousel.css"/>" />
<link type="text/css" rel="stylesheet"
    href="<c:url value="/css/style.css"/>" />
<link type="text/css" rel="stylesheet"
    href="<c:url value="/css/style_home.css"/>" />
<link type="text/css" rel="stylesheet"
    href="<c:url value="/css/responsive.css"/>" />
<link type="text/css" rel="stylesheet"
    href="<c:url value="/css/dataTables.bootstrap.css"/>" />

<!-- Fav and touch icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144"
    href="/resource/static/images/fav-144.html">
<link rel="apple-touch-icon-precomposed" sizes="114x114"
    href="/resource/static/images/fav-114.html">
<link rel="apple-touch-icon-precomposed" sizes="72x72"
    href="/resource/static/images/fav-72.html">
<link rel="apple-touch-icon-precomposed"
    href="/resource/static/images/fav-57.html">
<link rel="shortcut icon" href="images/fav.html">

<!-- Google Web Fonts -->
<link
    href="http://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,400italic,700italic,400,300,700"
    rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=Oswald:400,700,300"
    rel="stylesheet" type="text/css">
<link
    href="http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,700,300,600,800,400"
    rel="stylesheet" type="text/css">


<!-- ----JAVA SCRIPT----- -->
<script type="text/javascript"
    src="<c:url value="/js/jquery-1.11.1.min.js"/>"></script>
<script type="text/javascript"
    src="<c:url value="/js/jquery-migrate-1.2.1.min.js"/>"></script>
<script type="text/javascript"
    src="<c:url value="/js/bootstrap.min.js"/>"></script>
<script type="text/javascript"
    src="<c:url value="/js/bootstrap-hover-dropdown.min.js"/>"></script>
<script type="text/javascript"
    src="<c:url value="/js/jquery.magnific-popup.min.js"/>"></script>
<script type="text/javascript"
    src="<c:url value="/js/owl.carousel.min.js"/>"></script>
<script type="text/javascript" src="<c:url value="/js/custom.js"/>"></script>


</head>
<body class="back">
    <!-- Header Section Starts -->
    <header id="header-area"> <!-- Header Top Starts -->
    <div class="header-top-home">
        <div class="container">
            <div class="row">
                <!-- Header Links Starts -->
                <div class="col-sm-8 col-xs-12">
                    <div class="header-links-home">
                        <ul class="nav navbar-nav pull-left">

                        </ul>
                    </div>
                </div>
                <!-- Header Links Ends -->
                <!-- Right Navigation -->
                <div class="col-sm-4 col-xs-12">
                    <div class="pull-right header-links-home">
                        <ul class="nav navbar-nav pull-right">

                        </ul>
                    </div>
                </div>
                <!-- Right Navigation -->
            </div>
        </div>
    </div>
    <!-- Header Top Ends --> <!-- Main Header Starts -->
    <div class="main-header back1">
        <div class="container">
            <div class="row">
                <div class="col-sm-2"></div>


            </div>
        </div>
    </div>
    </header>
    <nav id="main-menu" class="navbar" role="navigation">
    <div class="container">
        <!-- Nav Header Starts -->
        <div class="navbar-header">
            <button type="button" class="btn btn-navbar navbar-toggle"
                data-toggle="collapse" data-target=".navbar-cat-collapse">
                <span class="sr-only">Toggle Navigation</span> <i class="fa fa-bars"></i>
            </button>
        </div>
        <coe:menu userrole="${role}" offeringList="${offeringList}" />
    </div>
    </nav>
    <div id="main-container-home" class="container">
        <div class="row">
            <div class="col-sm-3"></div>
            <div class="col-md-6">

            </div>
            <div class="col-sm-3"></div>
        </div>
        <div class="row">
            <c:forEach items="${OfferingDetails}" var="val" varStatus="loop">
                <div class="col-md-2 col-sm-4 col-xs-6">
                    <div class="dummy"></div>
                    <a href="offeringList.html?val=${val.offName}"
                        class="thumbnail ${val.offColor}"><i class="${val.offIcon}"></i><br>${val.offName}</a>
                </div>
            </c:forEach>
        </div>
        <h3 style="font-size: 18px" class="product-head">My Subscribed
            Solutions:-</h3>


    <!-- Footer Section Starts -->
    <footer id="footer-area"> <!-- Footer Links Starts --> <!-- Footer Links Ends -->

     </footer>

</body>
</html>

控制器部分

@RequestMapping(value="/homePage", method = RequestMethod.GET)
    public String homePage(Map<String, Object> model){

        Authentication auth = SecurityContextHolder.getContext()
                .getAuthentication();
        String name = auth.getName();

        System.out.println("name    "+    name + auth.getAuthorities());
        List<String> offeringList=loginService.getOfferingList();
        model.put("offeringList", offeringList);
        System.out.println(offeringList.size());

        List<OfferingDetails> OfferingDetails=loginService.getOfferingDetailsTable();
        model.put("OfferingDetails", OfferingDetails);

        List<String> hashTag=loginService.getHashTags();
        model.put("hashTag",hashTag);

        Set<SolutionDetails> downloadDetails=loginService.getUserDownloadDetails();
        model.put("downloadDetails", downloadDetails);

        String role=getRole();
        model.put("role",role);

        return "homePage";
    }

類路徑中可用的jar

pom.xml添加標准taglibs jar

<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>

另外,不要忘記在您的jsp中首先包含標准taglib。

<%@ taglib prefix="core" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

如果您可以告訴我們您使用的是哪個版本的Tomcat,這將有所幫助。 另外,當您在項目上執行mvn spring-boot:run時,它是否會提供預期的結果? 如果是,則表明您的TC安裝過程中出現配置問題,或類路徑問題或TC預打包jar與您的應用程序創建的不兼容性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM