java - 为什么 EL 函数应该来自具有非 void 返回类型的 Java 方法?

标签 java database jsp el

我遇到一种情况,我认为使用作为 void java 方法的 EL 函数是个好主意。这是一个简单的 jsp,用于更新人们的名字和姓氏数据库。因此,有两个文本字段:名称和密码。用户输入它们并单击“提交”,然后使用 POST 将它们转发到另一个 jsp。这个jsp简单地调用了EL函数,我们称之为“put”,它带有两个参数,并且派生自java方法putPerson(String, String),该方法获取到数据库的连接并放置第一个和姓氏在适当的位置。现在,putPerson 无效,因为它所做的只是将字符串放入数据库中。那么,这是不好的编程习惯吗?如果是,为什么?在我看来,这是一个快速而优雅的解决方案,而且它有效。唯一的问题是你不能只通过说 ${put(first, last)} 来调用它,因为出于某种原因它会打印出“<”,但这很容易解决。那么为什么他们建议不要使用返回类型为 void 的 EL 函数呢?

最佳答案

打印<可能来自其他地方,或者是 EL 解析器中的错误。但无论哪种方式,您都不应该在 EL 函数中这样做。

EL 函数是实用程序 - 例如 .substring() , .join() (数组)等。它们在您显示页面并需要一些更复杂的表示逻辑时使用。

您想要做的是一个典型的故事,它是在 servlet(或任何其他操作组件,如果您使用框架)中完成的。

关于java - 为什么 EL 函数应该来自具有非 void 返回类型的 Java 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6888132/

相关文章:

java - 如何创建 Spring 5 组件索引?

database - 在python中使用pymysql连接数据库

c# - 如何检查 Access 数据库表中是否存在特定列

java - 使用 FormFaces (XForms) 将 XML 数据传递到 JSP

java - 以正确的顺序获取 JSONObject

java - 你能用 Java 编写一个需要无参数构造函数或工厂的接口(interface)吗?

java - 单链表的 addToRear 方法

android - 如何创建一个实时修改的android应用程序数据库?

javascript - $(document).ready(function()) 仅在jsp加载后执行

java - 如何使用showModalDialog传递参数