NonHashException: For “.“ left-hand operand: Expected a hash, but this has evaluated to a string

这篇具有很好参考价值的文章主要介绍了NonHashException: For “.“ left-hand operand: Expected a hash, but this has evaluated to a string。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用FreeMarker,遇到的问题:

For "." left-hand operand: Expected a hash, but this has evaluated to a string

出错代码:

<#list ObjectList as item>
<@assign b=item.a>
</@list>


<p>${(b.username)!}</p>

list中有个对象a,然后使用<#assign>设置全局变量,下面取值报错。

问题原因:

因为list中的对象a是null,经过自动转化后b成了字符串,所以下面的取值判断会报错:

For "." left-hand operand: Expected a hash, but this has evaluated to a string(wrapper: f.t.SimpleScalar)

FreeMarker 数据模型:存放了数据的数据结构,通常是一个Hash存储结构(如:HashMap)

此时的b不是hash是个string,所以报错了。

解决办法:

就是让b成为一个Hash,设置成'{}'

<#list ObjectList as item>
<@assign b=item.a!{}>//or (<@assign b=(item.a)!{}>)
</@list>


<p>${(b.username)!}</p>

这样下面就可以取值判断了。文章来源地址https://www.toymoban.com/news/detail-637369.html

到了这里,关于NonHashException: For “.“ left-hand operand: Expected a hash, but this has evaluated to a string的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Python之解决报错:TypeError: unsupported operand type(s) for /: ‘builtin_function_or_method‘ and ‘float‘

    Python之解决报错:TypeError: unsupported operand type(s) for /: ‘builtin_function_or_method‘ and ‘float‘

    开门见山哈家人们,首先解决方法:查找报错内容相关的代码,找到源头,添加小括号。 解释如下: 在运行Python程序的时候,报了个错,找了半天没找到什么原因。 因为给的报错信息在94行,反反复复盯着94行以及附近找了半个多小时,最后百度了半天发现问题出在了19行

    2024年02月15日
    浏览(10)
  • 张量(Tensor)维度尺寸对不齐(Expected size xx but got size xx for tensor)

    本文以 U-Net 举例,演示如何解决 张量(Tensor)维度尺寸对不齐 的问题 U-Net 的网络架构可以参考这篇文章:U-Net原理分析与代码解读 这是本文演示所用的 U-Net代码 : 假设本文输入的图像是 600乘以400像素 的尺寸,那么对于本文U-Net代码所需的 512乘以512像素 的输入是肯定 不匹配

    2024年02月02日
    浏览(23)
  • [Vue warn]: Invalid prop: type check failed for prop “currentPage“. Expected String with value “1“

    出现这个的原因是因为定义的初始currentPage变量为整型,后面赋值时变为了string类型。 因为我是把这个currentPage变量存到了localStorage里面,存进去的是int类型,拿出来的就是string类型了,所以再次复制给currentPage变量会有类型冲突。 解决方法:将localStorage的数据变量拿出来时

    2024年02月15日
    浏览(8)
  • [VUE]报错: Invalid prop: type check failed for prop “value“. Expected String, Number, got Array found

    [VUE]报错: Invalid prop: type check failed for prop “value“. Expected String, Number, got Array found

    控制台报错:[Vue warn]: Invalid prop: type check failed for prop \\\"value\\\". Expected String, Number, got Array found in。 错误翻译:属性无效:属性“值”的类型检查失败。应为字符串,数字,在中找到了数组。  查找了报错相关文件,最终查出了问题所在,将数据类型写成了数组型。 将 改为 就

    2024年02月06日
    浏览(10)
  • INVALID_ARGUMENT : Invalid rank for input: modelInput Got: 3 Expected: 4 Please fix either the input

    HXDM 看看是不是报的这个错 modelInput 是我 onnx 模型输入的名字 这个错,意思很简单,意思是 onnx 模型的输入是 结果你送入了 一个维度是4,一个维度是3,所以是INVALID ARGUMENT(无效的输入) 我记录这个错,主要是 Invalid rank for input ,他要是说是 Invalid shape for input ,我就秒懂,但

    2024年02月13日
    浏览(9)
  • 控制台警告Invalid prop: type check failed for prop “modelValue“. Expected Number with value 0, got String

    控制台警告Invalid prop: type check failed for prop “modelValue“. Expected Number with value 0, got String

    Invalid prop: type check failed for prop \\\"modelValue\\\". Expected Number with value 0, got String with value \\\"0\\\".  检查项目时发现了控制台报这个警告 用有道翻译过来是:无效的道具:道具“modelValue”的类型检查失败。期望值为0的数字,得到值为“0”的字符串。 一开始我还看不懂它这个意思,可能遇

    2024年02月05日
    浏览(9)
  • Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video

    Hand Avatar: Free-Pose Hand Animation and Rendering from Monocular Video

    Github: https://seanchenxy.github.io/HandAvatarWeb MANO-HD模型:作为高分辨率网络拓扑来拟合个性化手部形状 将手部几何结构分解为每个骨骼的刚性部分,再重新组合成对的几何编码,得到一个跨部分的一致占用场 纹理建模:在MANO-HD表面设计了可驱动的anchor,记录反照率;定向软占用

    2024年02月07日
    浏览(10)
  • opencv hand openpose

    opencv hand openpose

    使用opencv 得dnn 模块调用 caffemodel得程序,图片自己输入就行,不做过多得解释,看代码清单。 const int POSE_PAIRS[20][2] = { {0,1}, {1,2}, {2,3}, {3,4}, // thumb {0,5}, {5,6}, {6,7}, {7,8}, // index {0,9}, {9,10}, {10,11}, {11,12}, // middle {0,13}, {13,14}, {14,15}, {15,16}, // ring {0,17}, {17,18}, {18,19}, {19,20} // small

    2024年02月15日
    浏览(5)
  • 手眼标定—眼在手上(eye-in-hand)基本原理

    手眼标定—眼在手上(eye-in-hand)基本原理

    基本概念 相机固定在机械臂末端,机械臂移动相机也随之移动。主要标定求解相机坐标系和机械臂末端坐标系之间的转换矩阵。 涉及坐标系 机械臂基坐标系(base)、机械臂末端坐标系(gripper)、相机坐标系(camera)以及标定板坐标系(target)。eye-in-hand即为求解相机坐标系

    2024年02月05日
    浏览(10)
  • Binary operator ‘*‘ cannot be applied to two ‘Double?‘ operands

    在 swift 中声明 Double 类型参数变量在进行运算处理时抛出了如下异常 参数类型不匹配,需将参数类型进行匹配 初始定义参数的变量可能为空,添加置空条件,声明参数末尾添加 \\\"!\\\" 字符 以上便是此次分享的全部内容,希望能对大家有所帮助!

    2024年02月12日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包