我对FreeMarker很陌生,我正在开发一个使用FreeMarker作为模板引擎的Spring MVC应用程序。
因此,我有以下问题,尝试将空值放入模型,并试图将其评估到我的FreeMarker页面。
因此,我有以下控制器方法:
@RequestMapping(value = "/sso/login", method = RequestMethod.POST)
public String loginPost(HttpServletResponse response, @ModelAttribute DoLoginCommand command,
@ModelAttribute("redirect") String redirect, Model model) {
...................................................................
...................................................................
...................................................................
if (statusPasswordView.getDataWarning() != null && statusPasswordView.getDataWarning().before(new Date())) {
model.addAttribute(MA_EXPIRE_DATE, dataScadenza);
if(redirect.equals("")) {
model.addAttribute("redirect", null);
}
else {
model.addAttribute("redirect", redirect);
}
return "/sso/password-toexpire";
}
...................................................................
...................................................................
...................................................................
}
因此,正如您在前面的代码片段中看到的那样,loginPost()方法将此String@ModelAt0016(重定向)String重定向(这是我的控制器类的@Session属性,但我认为现在这并不重要)作为参数接收。
如果redirect变量的值是一个空字符串(“字符串”),我在模型中放入一个名为redirect的属性,该属性的值为null。否则,如果重定向字符串不是空字符串,我将其值作为上一个重定向模型属性的值。
然后进入我的FreeMarker页面(名为password toexpire.ftl),我会:
<#if redirect??>
<a href="<@spring.url '/profilo/home' />" class="btn btn-block btn-success submit-btn">Continua la navigazione</a>
<#else>
<a href="${redirect}" class="btn btn-block btn-success submit-btn">Continua la navigazione</a>
</#if>
因此,在本页中,我正在检查重定向属性是否为空,以将不同的元素呈现到最终的超文本标记语言中。
唯一的问题是,当我的password-toexpire.ftl页面返回时,我将这个错误消息输入到Eclipse堆栈跟踪中:
14:48:44,092 ERROR [it.mycompany.myprogjet.mypackage.base.SsumExceptionHandlerControllerAdvise] (http-localhost/127.0.0.1:8080-1) Attribute value must not be null: java.lang.IllegalArgumentException: Attribute value must not be null
因此,在Spring,我似乎无法将null属性放入model onject中,但对我来说这似乎很奇怪。
为什么啊?到底是什么问题?我错过了什么?我如何解决这个问题?
几点注意:
null
放入其中。最好省略整个属性
重定向
不存在),您仍在为
也代替
重定向??
对于存在性检查,您可以将空字符串传递给属性,并使用重定向?has_content
相反,如果属性不存在,则返回false,为null
或为空(在String
的情况下,其长度为零)。
我只想用hadoop mapreduce来排序我的日志行。我将该行的所有字段作为输出键,并将输出值设置为null。但是当运行时,在第行出现空指针异常 所以为什么hadoop映射的输出值不能为空?为什么hadoop reduce的输出值可以(我测试过)?
问题内容: 当我执行以下代码时,输出为“ nullHelloWorld”。Java如何处理null? 问题答案: 您正在尝试将值连接到。这由“字符串转换”控制,当一个操作数是a时发生,该转换被JLS的5.1.11节覆盖: 现在只需要考虑参考值: 如果引用为null,则将其转换为字符串“ null”(四个ASCII字符n,u,l,l)。
问题内容: 我有一个类MyThread。在那我有一个方法示例。我试图从相同的对象上下文中运行它。请看一下代码: 看起来很简单,不是吗。但是当我运行它时,我得到这个错误 现在,我就在那里使用该方法。那怎么了 请帮忙 编辑:这是堆栈跟踪 我这样称呼它 抱歉,我无法发布redisOps类代码。但我可以向您保证,它的效果很好 问题答案: 您的缩进已弄糟,并且您混用了制表符和空格。运行脚本进行验证。
问题内容: 我正在尝试使用DB2运行一个简单的SQL语句,并且遇到了一些问题。我想在txt / db2文件中有一个脚本,并让引擎处理所有命令 这是脚本: 当我运行db2 -f / pathtofile时,我得到: 我究竟做错了什么?我的脚本有问题吗?另外,为什么没有“;”也能正常工作 我的陈述结尾处的终止符? 谢谢, 问题答案: 可能会有帮助, http://www.uc.edu/R/r25/do
问题内容: 当用户向我的API注册时,他们将返回一个用户对象。在返回对象之前,我删除了散列的密码和salt属性。我必须用 因为当我尝试 对象属性仍然存在并返回。 这是为什么? 问题答案: 要使用它,您需要通过调用将模型文档转换为普通的JavaScript对象,以便您可以自由地操作它:
问题内容: 刚开始。遇到此错误,也没有运气找到原因或原因: 如果创建一个结构,显然可以分配和重新分配值,这没有问题: 但是如果结构是映射中的一个值: 我懂了。就是这样,没有其他信息。http://play.golang.org/p/VRlSItd4eP 我找到了解决方法- 在Person上创建一个func,可以将其调用并将结果分配给map键,例如。 但是,我的问题是,此“无法分配”错误的原因是什么