老师,请问ftl无法解析$表达式,该如何读取controller的数据?

老师,请问ftl无法解析$表达式,该如何读取controller的数据?

# 具体遇到的问题
在ftl中,使用${}无法取得 attribute

但在jsp中可以


ftl

http://img1.sycdn.imooc.com//climg/5fc9bcdc09752da110970689.jpg



jsp

http://img1.sycdn.imooc.com//climg/5fc9bced0940164409820468.jpg



由于无法读取后端数据,前端无法显示,请问这种情况该如何解决


http://img1.sycdn.imooc.com//climg/5fc9bd44093597ed15330637.jpg



# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2020-12-04 15:05:25

同学你好,freemarker支持表达式但在写法上还是有一定差异的,这里同学可参考如下表达式进行修改:

判断语句:
<#if table.name == “mysql”>
    ${table.name}
<#else>
    ${table.name}
</#if>   
注:table.name 是取出类table的属性name的值;循环语句:
循环语句和判断语句差不多
<#list table.cloumns as cloumn>
    ${cloumn.cloumnName}
</#list>
首先时取出类table的list属性cloumns ,然后取了一个小名cloumn,
进行遍历,每次遍历都会出去每个集合中的cloumnName属性的值;
结合使用
<#list table.cloumns as cloumn>
<#if cloumn.cloumnName == “mysql”>
    输出MySQL
<#else>
    输出oracle
</#if>
</#list>

祝学习愉快~

  • 提问者 Zarathustra1816763 #1

    那请问这样如何取得request和session中的值?

    2020-12-04 18:55:18
  • 同学你好,可以使用<#if></#if>来获取,举例如下:

    例如:
    request.setAttribute("templateInformationMap", templateInformationMap);
    在ftl中就可以使用下面获取该值
    <#if "" != (templateInformationMap!)?trim >
       <table cellpadding="0" cellspacing="0" id="product_parameter_table">
        ${templateInformationMap!}
       </table>
    ​</#if>

    祝学习愉快~

    2020-12-04 19:02:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师