- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi có câu hỏi về việc sử dụng lại mã trong JSP. Tôi có một trang JSP ví dụ.jsp
, thực hiện cuộc gọi đến cơ sở dữ liệu và nhận kết quả. Tôi có một lớp java HelperClass.java
Chấp nhận bản ghi và in ra các trường khác nhau
phản hồi.getWriter().println
Bây giờ trang JSP của tôi cũng có HTML, vấn đề là nội dung được HelperClass in ra xuất hiện trước nội dung trong trang JSP. Ví dụ
Đây là dòng đầu tiên
HelperClass.printdata("dòng thứ hai");
Đầu ra là
dòng thứ hai Đây là dòng đầu tiên
Đây có phải là sự cố đã biết không? Được thiết kế cho các trang JSP in nội dung lên trang Lớp người trợ giúp
Cách tốt nhất để làm điều đó là gì. Bất kỳ con trỏ nào sẽ được đánh giá rất cao.
câu trả lời hay nhất
Chỉ cần không sử dụng "HelperClass để in dữ liệu". Điều này vô nghĩa. Có EL ở đó.
${bean.property}
Thế thôi. Sử dụng servlet để kiểm soát các yêu cầu tiền xử lý và hậu xử lý. Sử dụng thư viện thẻ (chẳng hạn như JSTL) và EL để truy cập và hiển thị dữ liệu phụ trợ.
Đây là một ví dụ khởi động cơ bản về Servlet xử lý trước các yêu cầu trước khi hiển thị chúng trong JSP:
protected void doGet(yêu cầu httpServletRequest, phản hồi HttpServletResponse) ném ra ServletException, IOException {
List Persons = PersonDAO.list(); // Lấy danh sách những người từ DB.
request.setAttribution("persons", Persons); // Vì vậy, nó có sẵn dưới dạng `${persons}` trong EL.
request.getRequestDispatcher("/WEB-INF/persons.jsp").forward(request, reply); // Chuyển tiếp tới JSP để hiển thị.
}
đây,Person
Chỉ là một lớp Javabean đại diện cho một thực thể trong thế giới thực.
lớp công khai Người {
private Long id;
tên chuỗi riêng tư;
email chuỗi riêng tư;
tuổi nguyên riêng tư;
// Thêm/tạo getters và setters tại đây.
}
PersonDAO#list()
Phương thức chỉ trả về List
của Person
Đối tượng từ cơ sở dữ liệu:
Danh sách công khai list() ném ra SQLException {
Kết nối kết nối = null;
Tuyên bố tuyên bố = null;
Kết quả Đặt kết quả = null;
Danh sách người = new ArrayList();
thử {
kết nối = cơ sở dữ liệu.getConnection();
câu lệnh = Connection.createStatement("CHỌN id, tên, email, tuổi TỪ người");
resultSet = câu lệnh.executeQuery();
trong khi (resultSet.next()) {
Người người = Người mới();
user.setId(resultSet.getLong("id"));
Person.setName(resultSet.getString("name"));
Person.setEmail(resultSet.getString("email"));
user.setAge(resultSet.getInteger("age"));
người.add(người);
}
} finally {
if (resultSet != null) thử { resultSet.close() } Catch (SQLException logOrIgnore) {}
if (câu lệnh != null) thử { câu lệnh.close(); } bắt (SQLException logOrIgnore) {}
if (kết nối != null) thử { Connection.close(); } Catch (SQLException logOrIgnore) {}
}
người trở về;
}
Ánh xạ servlet tới web.xml
Trung Tế mẫu url
TRÊN /người
.JSP ẩn trong /WEB-INF
Bằng cách này, không ai có thể truy cập trực tiếp vào servlet mà không yêu cầu nó trước (nếu không bạn sẽ nhận được một bảng trống).
Bây giờ, đây là cáchngười.jsp
Có vẻ như nó sử dụng JSTL (Chỉ cần thay thế jstl-1.2.jar đưa vào /WEB-INF/lib
) c:forEach
Đi qua List
Nó sử dụng EL để truy cập dữ liệu phụ trợ và thuộc tính đậu. servlet có Danh sách
Như tên là người
yêu cầu các thuộc tính sao cho ${người}
Có sẵn trong EL. c:forEach
Mỗi lần lặp lại cho Person
Trả về các phiên bản để bạn có thể hiển thị thuộc tính của chúng bằng EL.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
${person.name
${person.email
${person.age
通过 http://example.com/contextname/persons Gọi nó là vậy. Không cần "HelperClass để in dữ liệu" ;) Để tìm hiểu thêm về JSTL, hãy xem Hướng dẫn Java EE phần II chương 7Để tìm hiểu thêm về EL, hãy xem Hướng dẫn Java EE phần II chương 5 .Để tìm hiểu thêm về những gì đằng sau PersonDAO, hãy xem bài viết này .
Về lớp trợ giúp java - JSP để in nội dung, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/2280034/
我有这个问题: 我们声称对 float 使用相等测试是不安全的,因为算术运算会引入舍入错误,这意味着两个应该相等的数字实际上并不相等。 对于这个程序,您应该选择一个数字 N,并编写一个程序来显示 1
为什么这个脚本的输出是 5 而不是 8 ? 我认为 -- 意味着 -1 两次。 var x = 0; var y = 10; while ( x
我现在可以从 cmd 窗口中执行的 FFmpeg 过程中读取最后一行。 使用脚本主机模型对象引用此源。 Private Sub Command1_Click() Dim oExec
使用 vlookup,当匹配发生时,我想从匹配发生的同一行显示工作表 2 中 C 列的值。我想出的公式从 C 列表 2 中获取值,但它从公式粘贴在表 3 上的行中获取,而不是从匹配发生的位置获取。 这
我在破译 WCF 跟踪文件时遇到了问题,我希望有人能帮助我确定管道中的哪个位置发生了延迟。 “Processing Message XX”的跟踪如下所示,在事件边界和传输到“Process Actio
我有四个表,USER、CONTACT、CONACT_TYPE 和 USER_CONTACT USER_CONTACT 存储用户具有填充虚拟数据的表的所有联系人如下 用户表 USER_ID(int)|
以下有什么作用? public static function find_by_sql($sql="") { global $database; $result_set = $data
我正在解决 JavaBat 问题并且对我的逻辑感到困惑。 这是任务: Given a day of the week encoded as 0=Sun, 1=Mon, 2=Tue, ...6=Sat,
我正在研究一些 Scala 代码,发现这种方法让我感到困惑。在匹配语句中,sublist@ 是什么?构造?它包含什么样的值(value)?当我打印它时,它与 tail 没有区别,但如果我用尾部替换它,
我正在使用以下代码自行缩放图像。代码很好,图像缩放也没有问题。 UIImage *originImg = img; size = newSize; if (originImg.size.width >
Instruments 无法在我的 iPad 和 iPhone 上启动。两者都已正确配置,我可以毫无问题地从 xcode 调试它们上的代码,但 Instruments 无法启动。 我听到的只是一声嘟嘟
我想用 iPhone 的 NSRegularExpression 类解析此文本: Uploaded652.81 GB 用于摘录上传和652.81文本。 最佳答案 虽然我确实认为 xml 解析器更适合解
我找到了 solution在 Stackoverflow 上,根据过滤器显示 HTML“li”元素(请参阅附件)。本质上基于 HTML 元素中定义的 css 类,它填充您可以从中选择的下拉列表。 我想
这是一个简单的问题,但我是在 SQL 2005 中形成 XML 的新手,但是用于形成如下所示表中的 XML 的最佳 FOR XML SQL 语句是什么? Column1 Column2 -
我在 www.enigmafest.com 有一个网站!您可以尝试打开它!我面临的问题是,在预加载器完成后,主页会出现,但其他菜单仍然需要很长时间才能加载,而且声音也至少需要 5 分钟! :( 我怎样
好吧,我正在尝试用 Haskell 来理解 IO,我想我应该编写一个处理网页的简短小应用程序来完成它。我被绊倒的代码片段是(向 bobince 表示歉意,但公平地说,我并不想在这里解析 HTML,只是
如何使用背景页面来突出显示网站上的某个关键字,无论网站是什么(谷歌浏览器扩展)?没有弹出窗口或任何东西,它只是在某人正在查看的网站上编辑关键字。我以前见过这样的,就是不明白怎么做!谢谢你的帮助。 最佳
我是 Javascript 新手,需要一些帮助。 先看图片: . 积分预测器应用程序。 基本上当用户通过单选按钮选择获胜团队时它应该在积分栏中为获胜队添加 10 分,并且并根据得分高的球队自动对表格进
这是我的情况 - 我要发送一份时事通讯,我试图做的是,当用户单击电子邮件中的链接时,它会重定向到我的网页,然后会弹出一个灯箱,显示视频。我无法在页面加载时触发灯箱,因为您可以在查看灯箱之前转到同一页面
我有这个代码。 ¿Cuanto es ? Ir 我想获取用户输入的“验证码”值。我尝试这个但行不通。有什么帮助吗? var campo = d
Tôi là một lập trình viên xuất sắc, rất giỏi!