我有一个简单的MVC应用程序,使用java类,它将获取DB结果值。现在我想在HTML中传递这些DB值。我怎么能这样做?
我使用html5作为View部分。
这是我的Java代码:
package com.mvc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mvc.bean.HbBean;
import com.mvc.util.DBConnection;
public class HBDao
{
public String FetchHBRecords(HbBean hb)
{
String Deviceid = hb.getNidevid(); //Keeping user entered values in temporary variables.
Connection con = DBConnection.createConnection();
PreparedStatement pstmt = null;
ResultSet resultSet = null;
try
{
pstmt = con.prepareStatement("SELECT hbtimestamp,battvolt,eventtype01,eventdata01,eventtype02,eventdata02,sensordata2 "
+"FROM nidhb where nidevid=? ORDER BY hbtimestamp ");
pstmt.setString(1, Deviceid);
resultSet = pstmt.executeQuery();
resultSet = pstmt.executeQuery();
while(resultSet.next()) // Until next row is present otherwise it return false
{
int battvolt=resultSet.getInt("battvolt");
int eventtype01=resultSet.getInt("eventtype01");
int eventdata01=resultSet.getInt("eventdata01");
int eventtype02=resultSet.getInt("eventtype02");
int eventdata02=resultSet.getInt("eventdata02");
int sensordata2=resultSet.getInt("sensordata2");
// hb.setHbtimestamp(hbtimestamp);
hb.setBattvolt(battvolt);
hb.setEventtype01(eventtype01);
hb.setEventdata01(eventdata01);
hb.setEventtype02(eventtype02);
hb.setEventdata02(eventdata02);
hb.setSensordata2(sensordata2);
}
}
catch(SQLException e)
{
e.printStackTrace();
}
return "Invalid user credentials"; // Just returning appropriate message otherwise
}
}
}
答案 0 :(得分:1)
由于您还没有提到您正在使用的MVC框架,我假设您需要一个特定于JSP的解决方案。
看到代码,似乎你从后端获取值并将它们放在Bean HbBean
中。现在你打算在JSP中使用这个bean。
但是,您的代码中似乎存在一些问题。
FetchHBRecords()
函数将始终返回字符串"Invalid user credentials"
。您是否提到过成功登录的任何休息条件?HBDao
是 DAO类,它尝试与数据库建立连接,并在{{1}中实例化 Bean类 HbBean
功能。这样,FetchHBRecords()
(它是HbBean的一个实例)的范围仅限于此函数!您最好返回Bean类或生成HTML hb
本身如果您解决了这些问题,可以继续使用两个选项。
选项-1 使用Scriptlet并导入Bean类
FetchHBRecords()
详细Example。
选项-2 使用JSP Java Bean(推荐)
<%@page import="com.javatpoint.HbBean"%>
<%
// Assuming you have already set the Bean instance in request attribute
HbBean bean = (HbBean)request.getAttribute("bean");
out.print(bean.getBattvolt());
out.print(bean.getEventtype01());
out.print(bean.getEventdata01());
%>
动作声明了一个用于JSP的JavaBean。
与<jsp:useBean>
一起,您可以使用<jsp:useBean...>
操作来访问get方法,使用<jsp:getProperty/>
操作来访问set方法。以下是完整语法:
<jsp:setProperty/>
详细Example
希望它有所帮助!
答案 1 :(得分:0)
调用FetchHBRecords(HbBean hb)
的代码可以从HbBean
对象中提取值并生成HTML,或者将值传递给JSP进行渲染。
答案 2 :(得分:0)
这可能不是一个好的答案,但它来自我的实践
<jsp:useBean id="postserivce" lass="com.anoop.live_tech.services.PostService"></jsp:useBean>
<jsp:useBean id="post" class="com.anoop.live_tech.domain.Post"></jsp:useBean>
使用JSP标记
<%
ArrayList list=(ArrayList)postserivce.getPosts();
%>
及其展示
<body>
<%
for(int i=0;i<list.size();i++)
{
post=(Post)list.get(i);
String uname=postserivce.getunameFromuId(post.getUserId());
%>
<table align="center">
<tr><td align="center">
<h2><%=post.getPostTitle() %></h2></td>
</tr>
<tr><td>
<h1><%=post.getPostSubject() %></h1>
</td>
</tr>
<tr><td>
<h3 align="right"><%=post.getPostDate() %></h3></td>
</tr>
<tr><td>
<h4 align="right"><%=uname%></h4></td>
</tr>
<tr><td>------------------------------------------------------------</td> </tr>
</table>
<%
}
%>
这里的Post类是我的bean文件。