在 JAX-RS 上将 css 添加到 JSP
Add css to JSP on JAX-RS
我需要将 css 和 js 添加到 glassfish5 上的 jax-rs 应用 运行 中的 jsp 文件。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>elearning_ontology</artifactId>
<version>1.0-SNAPSHOT</version>
<name>elearning_ontology</name>
<packaging>war</packaging>
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<junit.version>5.6.2</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.mvc</groupId>
<artifactId>javax.mvc-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.krazo</groupId>
<artifactId>krazo-jersey</artifactId>
<version>1.1.0-M1</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>5.1.17</version>
</dependency>
<dependency>
<groupId>com.github.galigator.openllet</groupId>
<artifactId>openllet-owlapi</artifactId>
<version>2.6.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.0</version>
</plugin>
</plugins>
</build>
</project>
我尝试使用相对路径或 c:url
添加 css 但没有机会:
<link rel="stylesheet" href="<c:url value = "bootstrap-rtl.min.css"/>" media="screen">
<link rel="stylesheet" href="assets/css/bootstrap-rtl.min.css" media="screen">
当我查看页面源代码并单击 css url 时,我看到了一个 404 页面。我想我应该通过 Application 或 web.xml 做一些配置。但我不知道如何
P.S:它是一个 restfull mvc 应用程序。所以所有路线都通过控制器控制 class .
所以(也许)只能访问在控制器中定义或在配置文件中定义的路径。相对或绝对路径无效。
图为应用结构:
静态文件不需要在 WEB-INF 文件夹中。我们将 JSP 文件放在那里以保护它们免受 public 的影响。资源可以直接放在 src/main/webapp
文件夹中。这是默认 servlet 将提供静态文件的根目录。
假设您有以下结构
src/main/webapp
|
+--- assets
| |
+ +--- css
| |
+ +--- styles.css
|
+--- WEB-INF
|
+--- jsp
|
+--- products.jsp
在你的products.jsp
页面
你可以使用的是下面的link
<link rel="stylesheet" href="<c:url value="/assets/css/styles.css"/>" />
由于我们使用 c:url
,它会为我们添加基础 URL 一直到上下文路径,即 http://localhost:8080/<app-name>/
。将路径添加到 CSS 页面,我们将有
http://localhost:8080/<app-name>/assets/css/styles.css
这正是我们想要的。当浏览器发出对此页面的请求时,默认的 servlet 将从我们当前拥有它的位置提供它。
我需要将 css 和 js 添加到 glassfish5 上的 jax-rs 应用 运行 中的 jsp 文件。 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>elearning_ontology</artifactId>
<version>1.0-SNAPSHOT</version>
<name>elearning_ontology</name>
<packaging>war</packaging>
<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<junit.version>5.6.2</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.mvc</groupId>
<artifactId>javax.mvc-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.krazo</groupId>
<artifactId>krazo-jersey</artifactId>
<version>1.1.0-M1</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>5.1.17</version>
</dependency>
<dependency>
<groupId>com.github.galigator.openllet</groupId>
<artifactId>openllet-owlapi</artifactId>
<version>2.6.5</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.0</version>
</plugin>
</plugins>
</build>
</project>
我尝试使用相对路径或 c:url
添加 css 但没有机会:
<link rel="stylesheet" href="<c:url value = "bootstrap-rtl.min.css"/>" media="screen">
<link rel="stylesheet" href="assets/css/bootstrap-rtl.min.css" media="screen">
当我查看页面源代码并单击 css url 时,我看到了一个 404 页面。我想我应该通过 Application 或 web.xml 做一些配置。但我不知道如何
P.S:它是一个 restfull mvc 应用程序。所以所有路线都通过控制器控制 class .
所以(也许)只能访问在控制器中定义或在配置文件中定义的路径。相对或绝对路径无效。
图为应用结构:
静态文件不需要在 WEB-INF 文件夹中。我们将 JSP 文件放在那里以保护它们免受 public 的影响。资源可以直接放在 src/main/webapp
文件夹中。这是默认 servlet 将提供静态文件的根目录。
假设您有以下结构
src/main/webapp
|
+--- assets
| |
+ +--- css
| |
+ +--- styles.css
|
+--- WEB-INF
|
+--- jsp
|
+--- products.jsp
在你的products.jsp
页面
<link rel="stylesheet" href="<c:url value="/assets/css/styles.css"/>" />
由于我们使用 c:url
,它会为我们添加基础 URL 一直到上下文路径,即 http://localhost:8080/<app-name>/
。将路径添加到 CSS 页面,我们将有
http://localhost:8080/<app-name>/assets/css/styles.css
这正是我们想要的。当浏览器发出对此页面的请求时,默认的 servlet 将从我们当前拥有它的位置提供它。