ballcat-projects / ballcat

😸一个快速开发脚手架,快速搭建企业级后台管理系统,并提供多种便捷starter进行功能扩展。主要功能包括前后台用户分离,菜单权限,数据权限,定时任务,访问日志,操作日志,异常日志,统一异常处理,XSS过滤,SQL防注入,国际化 等多种功能
http://docs.ballcat.org
Apache License 2.0
1.54k stars 298 forks source link

国际化 中 I18nField注解的 code也是支持Spel的吗,但是不生效 #238

Closed wuzhixaun closed 1 year ago

wuzhixaun commented 1 year ago

求助求助

Hccake commented 1 year ago

支持的,你用的哪个版本? 另外最好可以给个可以复现的最简 demo,可以基于 https://github.com/ballcat-projects/ballcat-samples/blob/master/ballcat-sample-i18n 修改

wuzhixaun commented 1 year ago

@Data @I18nClass public class TestData { @I18nField(code = "menu.order.xxx") private String username; }

我是要这样使用 code 国际化,然后报错 EL1008E: Property or field 'menu' cannot be found on object of type 'com.ecoflow.ecoflowexample.TestData' - maybe not public or not valid?

Hccake commented 1 year ago

menu 是 TestData 类的属性中吗,code 的 spel 解析时使用的当前对象内部的属性作为上下文

wuzhixaun commented 1 year ago

@Data @I18nClass public class TestData { @I18nField(code = "menu.order.xxx") private String username; private String code; } 那如果我取 TestData 中code 的值 , @I18nField(code =spel )这个spel应该怎么写了

wuzhixaun commented 1 year ago

可以了吧,直接写字段名就好了,多谢大佬

Hccake commented 1 year ago

不客气,解决了就好