Java/JSTL/Database

Материал из Java эксперт
Перейти к: навигация, поиск

JSTL SQL Query

   <source lang="java">

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.ru/jstl/sql" prefix="sql" %> <sql:setDataSource var="dataSource" driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/forum?user=forumuser" scope="session" /> <html>

 <head>
   <title>Query Example</title>
 </head>
 <body>

<sql:query var = "users" dataSource="${dataSource}"> select column_uid,column_pwd,column_accesses,column_first,column_last,column_bad,column_posted,column_type from t_users </sql:query>

<c:forEach var="row" items="${users.rows}"> </c:forEach>
<c:out value="${row.column_uid}"/> <c:out value="${row.column_pwd}"/> <c:out value="${row.column_accesses}"/> <c:out value="${row.column_first}"/> <c:out value="${row.column_last}"/> <c:out value="${row.column_bad}"/> <c:out value="${row.column_posted}"/> <c:out value="${row.column_type}"/>
 </body>

</html>


      </source>
   
  
 
  



JSTL SQL Update

   <source lang="java">

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.ru/jstl/core-rt" prefix="c-rt" %> <%@ taglib uri="http://java.sun.ru/jstl/sql" prefix="sql" %> <sql:setDataSource var="dataSource" driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/forum?user=forumuser" scope="session" /> <html>

 <head>
   <title>General Query</title>
 </head>
 <body>
 <c:choose>
   <c:when test="${param.cmd!=null}">
     <c:set var="str" value="${param.cmd}" />
   </c:when>
   <c:otherwise>
     <c:set var="str"
     value="select * from tableName" />
   </c:otherwise>
 </c:choose>
 Please enter a query:
 
<form method="post"> <textarea name="cmd" cols="40" rows="5">

<c:out value="${str}" />

   </textarea>
   
<input type="submit" /> </form> <c:if test="${pageContext.request.method=="POST"}"> <c:catch var="e"> <sql:query var="users" dataSource="${dataSource}" sql="${param.cmd}" />
<c:forEach var="row" items="${users.rows}" varStatus="status"> <jsp:useBean id="status" type="javax.servlet.jsp.jstl.core.LoopTagStatus" /> <c-rt:if test="<%=status.getCount()==1%>"> <c:forEach var="col" items="${row}"> </c:forEach> </c-rt:if> <c:forEach var="col" items="${row}"> </c:forEach> </c:forEach>
                 <c:out value="${col.key}" />
               <c:out value="${col.value}" />
   </c:catch>
   <c:if test="${e!=null}">

Error

     <c:out value="${e}" />
   </c:if>
 </c:if>
 </body>

</html>


      </source>
   
  
 
  



JSTL: Transaction with a JSP

   <source lang="java">

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.ru/jstl/sql" prefix="sql" %> <html> <HEAD>

     <TITLE>Using a Transaction with a JSP</TITLE>
    </HEAD>

<body bgcolor="white">

View table Data

<sql:transaction>

 <sql:update>
 insert into atable values(2, "Joe","Id","Feb-24-1996","F")
 </sql:update>
 
   <sql:query var="resultObj">
   select * from atable
   </sql:query>

</sql:transaction>

<c:forEach items="${resultObj.rows}" var="row"> <c:forEach items="${row}" var="column"> </c:forEach> </c:forEach>
    <c:out value="${column.key}" />
      <c:out value="${column.value}" />

</body> </html>


      </source>
   
  
 
  



Presenting database content using tags

   <source lang="java">

//web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

 "http://java.sun.ru/dtd/web-app_2_3.dtd">

<web-app>

 <resource-ref>
   <res-ref-name>jdbc/address</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
 </resource-ref>

</web-app>


<%@ taglib prefix="sql" uri="http://java.sun.ru/jstl/sql" %> <%@ taglib prefix="c" uri="http://java.sun.ru/jstl/core" %> <html> <head> <title>Presenting database content using tags</title> <sql:setDataSource

 dataSource="jdbc/address"
 var="conn"

/> </head> <body>

Address List

<sql:query dataSource="${conn}" var="addresses">

   SELECT * FROM AddressList

</sql:query>

<c:forEach var="columnName" items="${addresses.columnNames}">

</c:forEach>

<c:forEach var="row" items="${addresses.rowsByIndex}"> <c:forEach var="column" items="${row}">
   </c:forEach>
</c:forEach>
<c:out value="${columnName}"/>
<c:out value="${column}"/>

</body> </html>


      </source>
   
  
 
  



SQL Tag Out Examples

   <source lang="java">

<%@ taglib uri="http://java.sun.ru/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.ru/jstl/sql" prefix="sql" %> <sql:setDataSource var="dataSource" driver="sun.jdbc.odbc.JdbcOdbcDriver" url="jdbc:odbc:forum"/> <html>

 <head>
   <title>SQL Tag Out Examples</title>
 </head>
 <body>

<sql:query var = "users" dataSource="${dataSource}"> select column_uid,column_pwd,column_accesses,column_first,column_last,column_bad,column_posted,column_type from t_users </sql:query>

<c:forEach var="row" items="${users.rows}"> </c:forEach>
<c:out value="${row.column_uid}"/> <c:out value="${row.column_pwd}"/> <c:out value="${row.column_accesses}"/> <c:out value="${row.column_first}"/> <c:out value="${row.column_last}"/> <c:out value="${row.column_bad}"/> <c:out value="${row.column_posted}"/> <c:out value="${row.column_type}"/>
 </body>

</html>


      </source>
   
  
 
  



Updating a database using the sql:update tag

   <source lang="java">

//web.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

 "http://java.sun.ru/dtd/web-app_2_3.dtd">

<web-app>

 <resource-ref>
   <res-ref-name>jdbc/address</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
 </resource-ref>

</web-app>

<%@ taglib prefix="sql" uri="http://java.sun.ru/jstl/sql" %> <%@ taglib prefix="c" uri="http://java.sun.ru/jstl/core" %> <html> <head> <title>Updating a database using the sql:update tag</title> <sql:setDataSource

 var="conn"
 dataSource="jdbc/address"

/> </head> <body>

Modify Address List

<sql:update dataSource="${conn}" var="addresses">

   INSERT INTO AddressList (name, street, city, country, telephone) VALUES (?, ?, ?, ?, ?)
   <sql:param value="${param["name"]}"/>
   <sql:param value="${param["street"]}"/>
   <sql:param value="${param["city"]}"/>
   <sql:param value="${param["country"]}"/>
   <sql:param value="${param["tel"]}"/>

</sql:update> </body> </html>


      </source>