freemarker取不到值的原因。

由于有个项目是使用freemarker开发的,这里总结下使用freemarker过程中导致取不到值的一些原因,也是自己有时候经常犯的一些错误,供大家借鉴!

freemarker取不到值原因:

(1)后台没有传值过来!

  可以现在后台打印下看看是否后台已经有值了。

(2)页面先加载了!

  这个问题初学者可能经常会犯,自己一开始也是经常犯这种错误,必须是后台先带回数据,再把数据放到使用freemarker中加载才会生效,如果一开始页面就已经存在freemarker代码,是无法获取到数据的。

(3)路径错误问题!

  后台返回页面时,路径写错了,导致前端获取不到值,也会出不来数据。

(4)取值写法错误!

  这个就没什么好说的,注意检查是不是那个字母写错了。

(5)取值先后顺序不对!

  其实这个和第二个有些类似,总之只要记住:freemarker必须先有值,再加载,才能出来数据。先加载了是出不来数据的。

(6)命名冲突!

  这个有时候很容易被忽略,有时候freemarker标签用多了,不小心取了相同的名字,也会导致出不来数据。

原文地址:https://www.cnblogs.com/xuehuashanghe/p/9040707.html

时间: 2024-10-29 03:44:58

freemarker取不到值的原因。的相关文章

在js文件中写el表达式取不到值的原因及解决方法

1.javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值 2.要想获取"${jcDropClass.jcClass.id}"的值,可以在jsp中,用一个全局变量接收,然后再js中使用 3.注意:在使用时,注意要添加双引号,如var jcClassId="${jcDropClass.jcClass.id}"; $(document).ready(function() { var schoolId=$('#jcSchoolSelec

mybatis循环取序列,值相同问题处理

猜是缓存原因,因为代码肯定没问题,但是不管怎么查都是同一个值 <select id="querySeq" resultType="java.lang.Long" > SELECT SEQ_OR_TEMP_DETAIL.NEXTVAL FROM DUAL </select> 后来增加useCache="false" flushCache="true" 禁用mybatis缓存后成功增长序列 只写入useCa

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法 当TextBox设置了ReadOnly=true后要是在前台为控件添加了值,后台是取不到的,值为空,多么郁闷的一个问题经过尝试,发现可以通过如下的方式解决这个问题.感兴趣的朋友可以了解下 当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内

struts2下s:iterator取不出值

1:问题起因:通过action方法连接数据库取出Arraylist集合,在前台页面遍历显示无数据,用s:debug查看 stack里有值,用了各种方法,包括session传值,但是仍然取不出来. 2:问题解决:经过推敲,找出原因是类的set.get方法系统自动生成的时候,本默认set和get后第一个字母大写,然而本人命名变量名如pId,导致系统自动生成set/get方法后第一个字母没有大写,与struts2的取值机制不对应,导致数值取不出.如 private String pId; public

ng-model controller中取不到值(input)

一.对于input绑定ng-model默认情况下载控制器中获取不到改变的值 1.在自定义控制器中获取不到改变的值 原因: 1.ng-model取不到值是因为$scope作用域的问题 解决方案: 对于input的ng-model绑定使用对象object方式绑定,可以跨作用于访问. controller中定义一个集合: $scope.data ={ text1 : "", text2: "",} 页面中分别定义 ng-model="data.text1&quo

选择下拉框是如何取选项的值?

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>select</title> <script type="text/javascript"> </script> </head> <body id="body&

SQL按字段分组取最大(小)值记录(重复记录)

SQL Server 按某一字段分组 取 最大 (小)值所在行的数据 -- 按某一字段分组 取 最大 (小)值所在行的数据 -- (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-10-23于浙江杭州) /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的第三个值 b    1   b1--b的第一个值 b    3   b3:b的第三个值 b    2   b2b2b2b2 b   

@Value取不到值引出的spring的2种配置文件applicationContext.xml和xxx-servlet.xml

项目中经常会用到配置文件,定义成properties的形式比较常见,为了方便使用一般在spring配置文件中做如下配置: <context:property-placeholder ignore-unresolvable="true" location="classpath*:/application.properties" /> 这样在程序代码中直接用@Value("${name}")就能直接取到properties文件中定义的变量

GridView取不到值的问题总结

在ASP.NET开发过程中,使用GridView进行数据表现的时候遇到过两次取不到值的问题.分别是初学的时候与 用了一年多以后.出现的问题并不是身边么高深的技术,但是可能会经常遇到,所以这里我做一下总计.GridView 取不到值的情况主要是在使用GridView中自带的编辑的过程中取不到TextBox的值.但是问题源就不只一个了. 1.回传后重新绑定(IsPostBack) 这个问题并不是GridView这一个控件的问题.其他控件也有可能存在同样的问题.大家都知道我们在页面中 的Page_Lo