【问题标题】:How to link external css in java servlet?java - 如何在java servlet中链接外部css?
【发布时间】:2019-09-11 15:01:44
【问题描述】:

我有一个如下所示的 report.jsp 页面(注意:我刚刚添加了必要的代码)。

<form name="report" action="../printOrganization" method="post">
<table>
    <tr>
        <td>
            Organization name: <input type="text" name="orgName" />
        </td>
    </tr>
    <tr>
        <td>
            <input type="submit" value="Submit" name="action" /> 
        </td>
    </tr>
</table>

当用户点击report.jsp 页面的“提交”按钮时。该请求被发送到称为 OrganizationServlet 的 servlet。请求由 doPost 方法处理。 OrganizationServlet 中的代码如下所示:

public class OrganizationServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String organizatio = request.getParameter("orgName");

    if (organizatio.equals("ABC")) {
        printAllOrganization();

    }
}

public void printAllOrganization()
{
    PrintWriter pw = response.getWriter();
    response.setContentType("text/html");

    pw.println("<!DOCTYPE html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n");
    pw.println("<html>\n");
    pw.println("<head>\n");
    pw.println("<title> Print Organization </title>\n");
    pw.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"../styles/myStyle.css\">\n"); // This style sheet doesn't show effect when program run in browser
    pw.println("</head>\n");

    pw.println("<body>\n");

        //printing all organization code is here!

    pw.println("</body>\n");


    pw.println("</html>\n");
    pw.close();
}

web.xml 中处理请求的部分如下所示:

<servlet>
  <servlet-name>servletForOrganization</servlet-name>
  <servlet-class>com.project.report.OrganizationServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>servletForOrganization</servlet-name>
  <url-pattern>/printOrganization</url-pattern>
</servlet-mapping>

我的 css 文件位于此路径:

MyProject > resource > styles > myStyle.css

当我在浏览器中运行我的应用程序时,OrganizationServlet servlet 的 printAllOrganization() 方法中的 css 样式没有显示任何效果。有人可以帮我解决这个问题。提前谢谢你。

【问题讨论】:

    标签: java css jsp servlets web.xml


    【解决方案1】:

    在您的主 JSP 文件中添加:

    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    
      <link rel="stylesheet" href="<c:url value="/resource/styles/myStyle.css" />">
    

    在dispatcher-servlet.xml中添加:

      <mvc:resources mapping="/resource/**" location="/resource/" />
    

    修改你的类:

     public class OrganizationServlet extends HttpServlet {
    
            protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
                String organizatio = request.getParameter("orgName");
    
                if (organizatio.equals("ABC")) {
                    printAllOrganization(request);
    
                }
            }
    
            public void printAllOrganization(HttpServletRequest request) {
                PrintWriter pw = response.getWriter();
                response.setContentType("text/html");
    
                pw.println("<!DOCTYPE html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n");
                pw.println("<html>\n");
                pw.println("<head>\n");
                pw.println("<title> Print Organization </title>\n");
                pw.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"" + request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/resource/styles/myStyle.css\">\n");
                pw.println("</head>\n");
    
                pw.println("<body>\n");
    
                //printing all organization code is here!
                pw.println("</body>\n");
    
                pw.println("</html>\n");
                pw.close();
            }
    

    【讨论】:

    • 感谢您的回复,但我对report.jsp页面中的css没有任何问题。上述问题中 printAllOrganization() 中提到的 myStyle.css 不起作用。请您检查一次,如果对我有任何建议吗?
    • 查看我的修改
    • 再次感谢拉朱。但它仍然不起作用:(
    • 你能给我你的html页面吗?你可以检查浏览器的控制台。可能有一些错误。
    • 非常感谢您提供检查浏览器控制台的提示。是的,有错误 404。这意味着我的上下文路径丢失。我添加了上下文路径,现在它可以工作了:)
    猜你喜欢
    • 2021-05-19
    • 1970-01-01
    • 2015-01-18
    • 2021-05-03
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 2010-09-14
    • 2012-02-28
    相关资源
    最近更新 更多