freemarker如何获取页面请求的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker如何获取页面请求的参数相关的知识,希望对你有一定的参考价值。

在ftl页面这样写:
$req.getParameter("categoryname")

但是假如你要用<#if 指令让$req.getParameter("categoryname")参与比较呢?有一个小地方要注意一下:
正确写法:
1)
<#list pagesdatas as ls>
<#if ls.newscategory.id?default("") = ‘$req.getParameter("categoryname")‘>
.....................
</#if>
</#list>
2)
<#list pagesdatas as ls>
<#if ls.newscategory.id?default("") = "$req.getParameter(‘categoryname‘)">
.....................
</#if>
</#list>
3
<#list pagesdatas as ls>
<#if ls.newscategory.id?default("") = "$req.getParameter(\\"categoryname\\")">
.....................
</#if>
</#list>
错误写法:
<#list pagesdatas as ls>
<#if ls.newscategory.id?default("") = "$req.getParameter("categoryname")">
.....................
</#if>
</#list>
原因:估记应该是4个双引号冲突了

补充:把$req.getParameter("categoryname")赋值给变量的正确写法:
1)<#assign var ="$req.getParameter(‘categoryname‘)">
2) <#assign var =‘$req.getParameter(‘categoryname‘)‘>
3)<#assign var ="$req.getParameter(\\"categoryname\\")">
参考技术A 你是要获取后台的参数还是前台的参数?

freemarker 页面怎么获取Session中的值

我是用struts1+freemarker的,在后台
request.getSession().setAttribute("user", "管理员");
map.put("Session", request.getSession());

ftl页面中$Session 可以得到值org.apache.catalina.session.StandardSessionFacade@9c15d2
但是得不到user中的值
我用$Session.user , $Session["user"] , $user
都是提示出错,找不到user

  session可以看成一个数组,只是数组的下标是数字,比如a[1],而session下标是一个字符串,也就是他的key值。
  获取session值:
  string strSession = Session["user_name"].ToString();
  就这麼简单。
参考技术A 其实,直接就取出来了
<#if user?exists></#if>追问

试过了,这样进入不了 if 中,程序会认为user不存在

以上是关于freemarker如何获取页面请求的参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在spring中的freemarker模板中获取请求上下文

在 Freemarker 模板中,如何获取数据模型类的名称?

在freemarker页面获取长类型的逗号内值

如何从 FreeMarker 模板调用对象的 java 方法?

http请求如何修改请求头?

在jsp页面中如何获取另一个jsp页面提交的信息