EL取数据时(.属性)时取不到相应属性

本文通过一个具体的案例探讨了Java中EL表达式的使用方法及注意事项,重点分析了属性名大小写敏感的问题及其带来的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}

测试表明:

${user.Name}无法取到,报javax.el.PropertyNotFoundException: Property 'Name' not found on type op.User

而${user.name}可以取到。(差别在前面大写N,后面小写n)

其实底层是通过.name转成.getName()获得值,而不是直接获得对象的成员属性。

所以要注意书写规范,若在定义成员变量name是用了大写Name,则容易犯此错误。

### 如何在Element UI中全局配置`el-table`组件的默认属性 为了在全球范围内修改 `el-table` 的默认属性,可以通过 Vue 实例的原型链来扩展 Element UI 组件的行为。具体来说,在应用启动定义这些默认选项可以确保所有后续创建的 `el-table` 都会继承这些设定。 #### 方法一:通过覆盖样式调整默认外观 对于一些视觉上的改变比如滚动条宽度,可以直接在项目的公共 CSS 文件里重写 `.el-table` 类的选择器[^2]: ```css /* 修改 el-table 滚动条 */ .el-table { ::-webkit-scrollbar { width: 7px; height: 7px; background-color: transparent; } } ``` 这种方法适用于不需要 JavaScript 控制的情况下的样式更改。 #### 方法二:利用Vue.prototype设置默认参数 要为所有的 `el-table` 设置统一的功能特性(如排序),可以在 main.js 或者类似的入口文件中添加如下代码片段[^4]: ```javascript // 导入 Vue 和 ElTable import Vue from 'vue'; import { Table, TableColumn } from 'element-ui'; // 注册组件 Vue.use(Table); Vue.use(TableColumn); // 安装插件前自定义默认值 Vue.component('ElTable',{ ...Table, propsDefault(){ return { stripe:true, // 默认启用斑马纹 border:false,// 不显示边框线 defaultSort:{prop:'date',order:'descending'}, // 初始按日期降序排列 emptyText:"暂无数据", // 自定义空状态提示语句 size:'small',// 行高尺寸设为较小 highlightCurrentRow:true // 当前行高亮 }; }, }); ``` 注意上述方法可能不完全兼容最新版本的 Element Plus 库;如果是使用较新的框架版本,则需查阅相应文档确认 API 是否有所变化。 #### 方法三:借助mixin实现更灵活控制 当希望某些特定行为仅应用于部分页面而非全部地方,还可以考虑采用 mixins 来封装共享逻辑并有条件地混入到目标组件之中[^5]: ```javascript const tableMixin = { data() { return {}; }, methods:{ initSortable(options){ /* 初始化可拖拽功能 */ } }, }; export default tableMixin; // 使用 mixin 的方式引入至单个 vue 文件内 <script> import draggableMixin from '@/mixins/table.mixin' export default{ name:'YourComponentName', mixins:[draggableMixin], }; </script> ``` 此方案允许开发者更加精细地管理不同场景下所需的个性化配置而不影响其他区域内的正常使用体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值