Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从表示JSP的字符串呈现Spring视图?_Jsp_Spring Mvc - Fatal编程技术网

如何从表示JSP的字符串呈现Spring视图?

如何从表示JSP的字符串呈现Spring视图?,jsp,spring-mvc,Jsp,Spring Mvc,我正在深入研究SpringMVC,并试图从包含JSP的字符串而不是JSP文件中呈现视图 例如: public ModelAndView execute() { String contentToRender = " <p>Counting to three:</p> <% for (int i=1; i<4; i++) { %> <p>This number is <%= i %>.

我正在深入研究SpringMVC,并试图从包含JSP的字符串而不是JSP文件中呈现视图

例如:

public ModelAndView execute() {
    String contentToRender = "
       <p>Counting to three:</p>
       <% for (int i=1; i<4; i++) { %>
       <p>This number is <%= i %>.</p>
       <% } %>
      <p>OK.</p>
    ";
    ModelAndView view = new ModelAndView (contentToRender);
    return view;
}
publicmodelandview执行(){
字符串contentorender=”
数到三:


JSTL需要以下依赖项:

<!--JSTL dependencies-->  
<dependency>  
  <groupid>javax.servlet</groupid>  
  <artifactid>jstl</artifactid>  
  <version>1.1.2</version>  
</dependency>  

<dependency>  
  <groupid>taglibs</groupid>  
  <artifactid>standard</artifactid>  
  <version>1.1.2</version>  
</dependency> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  

<html>  
<head>  
</head>  

<body>  
   <p>Counting to three:</p>
   <c:forEach var="i" begin="1" end="4">
      <p>This number is <c:out value="${i}"/></p>
   </c:forEach>
   <p>OK.</p>
</body>  
</html>

javax.servlet
jstl
1.1.2  
塔格利布
标准
1.1.2  
这将是您的JSP:

<!--JSTL dependencies-->  
<dependency>  
  <groupid>javax.servlet</groupid>  
  <artifactid>jstl</artifactid>  
  <version>1.1.2</version>  
</dependency>  

<dependency>  
  <groupid>taglibs</groupid>  
  <artifactid>standard</artifactid>  
  <version>1.1.2</version>  
</dependency> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  

<html>  
<head>  
</head>  

<body>  
   <p>Counting to three:</p>
   <c:forEach var="i" begin="1" end="4">
      <p>This number is <c:out value="${i}"/></p>
   </c:forEach>
   <p>OK.</p>
</body>  
</html>

数到三:

这个号码是


不确定我是否理解了您的意图,但如果您希望对ajax请求/动态重新加载页面的某些部分执行此操作,您可以尝试像这样注释控制器操作方法,并直接返回一个值:

@RequestMapping(value="/ajaxhello")
public @ResponseBody String ajaxhello(){

    return "hello";
}
对于这些技术的高级使用(SpringMVC、AJAX等),您可以找到一个示例


它与jquery、dojo等javascript框架结合使用时效果非常好。

你不能。JSP必须编译成servlet,然后这个servlet必须由容器编译成字节码。你为什么要这样做?JSP的全部目的是避免在Java代码中使用HTML。此外,你不应该在Java代码中使用ScriptletSPs.学习JSP EL和JSTL。谢谢JB。原因是JSP页面存储在DB中,我从另一个与DB对话的服务获取它们。因此我在考虑是否可以在运行时从响应中呈现部分页面。如果在获得响应后将该文件存储在磁盘上,我可以在运行时编译它吗?我使用的是Tomcat 7。