freemarker传参
时间: 2023-08-19 22:13:26 浏览: 180
在Freemarker中,可以使用`${content?j_string}`来进行Java语言规则的字符串转义,`${content?js_string}`来进行JavaScript语言规则的字符串转义,`${content?json_string}`来进行JSON规则的字符串转义。这些转义方式可以用于在Freemarker模板中传递参数。例如,在JavaScript中,可以使用`aa("${text?js_string}")`来传递经过JavaScript语言规则转义的参数。在模板中,可以使用`<#assign text>`来定义一个变量,并使用`<#assign json=text?eval>`来将字符串转换为JSON对象。然后,可以使用`<#list json.userlist as item>`来遍历JSON对象的属性。例如,可以使用`${item.id}`来获取id属性的值,`${item.name}`来获取name属性的值,`${item.sex}`来获取sex属性的值。
相关问题
SpringBoot框架下xml跳转至jsp并传参
在 Spring Boot 框架下,我们通常不使用 XML 页面进行开发,而是采用 Thymeleaf、Freemarker 等模板引擎进行视图层的渲染。不过如果需要在 Spring Boot 中使用 JSP 页面进行开发,也是可以实现的。以下是实现从 JSP 页面跳转至另一个 JSP 页面并传参的步骤:
1. 在 application.properties 文件中配置 JSP 视图解析器:
```
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
```
2. 在 Controller 中编写处理请求的方法,如下所示:
```
@RequestMapping("/test")
public String test(Model model) {
model.addAttribute("param1", "value1");
model.addAttribute("param2", "value2");
return "test";
}
```
3. 在 test.jsp 页面中获取传递过来的参数值,如下所示:
```
<%
String param1 = request.getParameter("param1");
String param2 = request.getParameter("param2");
%>
```
4. 在 test.jsp 页面中定义超链接,如下所示:
```
<a href="test2.jsp?param1=${param1}¶m2=${param2}">跳转至 test2.jsp 页面</a>
```
5. 在 test2.jsp 页面中获取传递过来的参数值,如下所示:
```
<%
String param1 = request.getParameter("param1");
String param2 = request.getParameter("param2");
%>
```
这样就实现了从一个 JSP 页面跳转至另一个 JSP 页面并传递参数的功能。需要注意的是,Controller 返回的视图名称需要与 JSP 页面的文件名保持一致,且位于 `/WEB-INF/jsp/` 目录下。
SpringBoot框架下xml使用staticPage存放jsp并传参
在 Spring Boot 中使用 JSP 页面时,通常不推荐使用静态页面存放 JSP,而是将 JSP 页面放在 `/WEB-INF/jsp/` 目录下,由 Spring Boot 的视图解析器进行解析。如果你非常希望使用静态页面存放 JSP,可以按照以下步骤进行操作。
1. 在 application.properties 文件中配置 Spring Boot 的 WEB 静态资源路径:
```
spring.web.resources.static-locations=classpath:/static/
```
2. 在 static 目录下创建一个 html 页面,如 `test.html`。
3. 在 `test.html` 页面中引入 JSP 页面,如下所示:
```
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>My Test Page</title>
</head>
<body>
<jsp:include page="/WEB-INF/jsp/test.jsp">
<jsp:param name="param1" value="value1" />
<jsp:param name="param2" value="value2" />
</jsp:include>
</body>
</html>
```
在该页面中,我们使用了 `<jsp:include>` 标签来引入 JSP 页面。需要注意的是,`page` 属性需要指定 JSP 页面的路径,而路径需要以 `/WEB-INF/jsp/` 开头。同时,我们也传递了两个参数,分别是 `param1` 和 `param2`。
4. 在 `test.jsp` 页面中获取传递过来的参数值,如下所示:
```
<%
String param1 = request.getParameter("param1");
String param2 = request.getParameter("param2");
%>
```
这样就实现了使用静态页面存放 JSP 并传递参数的功能。需要注意的是,如果使用 Thymeleaf、Freemarker 等模板引擎进行视图层的渲染,就不需要进行上述步骤的操作。
阅读全文