踩坑Freemarker对象属性rName获取为空

在使用Freemarker开发页面时遇到一个问题,对象的'rName'属性无法正常获取,而其他属性可以。经过排查,发现将'rName'的值赋给'orgName'后能够正确显示,暗示问题可能出在页面获取方式上。通过调整Freemarker的取值方式为getRName,问题得到解决。

今天在写页面的时候又掉坑里了,使用freemarker获取对象的属性,其中一个属性(“rName”)死活获取不到,上代码:

<#list multyAccountList as accountInfo>
                    <div class="radio-group">
                        <div class="radio-check">
                            <input type="radio" name="c-radio" class="i-radio" value="${accountInfo.userId}"/>
                            <#if purchaserVO.loginAccount == accountInfo.loginAccount>
                                <em class="iconfont pur_icon_PC_Checkbox_pre"></em>
                            <#else >
                                <em class="iconfont pur_icon_PC_Checkbox_nor"></em>
                            </#if>
                        </div>
                        <label class="radio-lab">${accountInfo.userName}(${accountInfo.orgName},${accountInfo.rName})</label>
                    </div>
                </#list>

其他的都能获取到。。。
尝试了下,把"rName"的值放到另一个属性(“orgName”)中能获取到。。。
那么问题应该出现在页面获取上。。。
freemarker的取值方式是:

${object.param}

也相当于getParam。那么获取"rName"的时候,应该是getRName。
尝试了一下果然如此:

${accountInfo.RName}
FreeMarker 模板中,访问对象属性并将其渲染到模板是一个常见且基础的操作。FreeMarker 使用点号(`.`)语法来访问对象属性,类似于 Java Bean 的 getter 方法调用方式。 例如,假设数据模型中包含一个用户对象 `user`,该对象具有 `name` 和 `email` 两个属性,则可以通过以下方式访问并显示这些属性: ```ftl <p>用户名:${user.name}</p> <p>邮箱:${user.email}</p> ``` 如果属性本身是一个嵌套对象,也可以通过链式访问的方式获取其内部属性。例如,若 `user.address` 是一个包含 `city` 和 `zipCode` 的地址对象,则可以如下访问: ```ftl <p>城市:${user.address.city}</p> <p>邮编:${user.address.zipCode}</p> ``` 对于集合类型的属性(如 List 或 Map),也可以结合 `<#list>` 标签进行遍历输出。例如,若 `user.roles` 是一个包含多个角色名称的列表,则可以使用以下代码输出所有角色: ```ftl <ul> <#list user.roles as role> <li>${role}</li> </#list> </ul> ``` 在 Spring MVC 等集成环境中,通常会将整个数据模型传递给模板引擎,开发者只需确保对象结构正确,并在模板中使用对应的变量名即可访问属性 [^2]。 此外,为避免值导致渲染异常,可使用默认值操作符 `!` 来提供一个备选值。例如,若 `user.nickname` 可能为,则可以写成: ```ftl <p>昵称:${user.nickname!user.name}</p> ``` 上述表达式表示如果 `nickname` 为,则使用 `name` 属性作为替代值。 ### 相关问题 1. 如何在 FreeMarker 中处理嵌套对象属性访问? 2. 在 FreeMarker 模板中如何防止因值导致的渲染错误? 3. 如何在 FreeMarker 中遍历对象属性组成的集合? 4. FreeMarker 是否支持动态属性名的访问方式? 5. 如何在 FreeMarker 中对对象属性进行字符串格式化后再输出?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值