My application (at least part of it) is as follows:
owners search form:
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Search string</title>
</head>
<body onload="document.schform.p11.focus();">
<form name="schform" method="POST" action="owners.jsp">
<blockquote>
<blockquote>
<p>Search string: <input type="text" name="p11" size="20">
<input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2"></p>
</blockquote>
</blockquote>
</form>
</body>
</html>
For example you can enter the letters wh to get only owners names that start with wh.
owners.jsp page showing 5 records at a time with pagination:
<!-- <link rel="stylesheet" href="include/locked-column.css" type="text/css"> -->
<link rel="stylesheet" href="include/style.css" type="text/css">
<!-- <script type="text/javascript" src="include/lock.js"></script> -->
<script type="text/javascript">
function cell(id)
{
var x=document.getElementById('myTable').rows[id].cells;
// alert(myTable.rows[id].cells[1].firstChild.nodeValue);
opener.document.petsedit.ownerid.value = myTable.rows[id].cells[0].firstChild.nodeValue;
opener.document.petsedit.petowner.value = myTable.rows[id].cells[1].firstChild.nodeValue;
opener.document.petsedit.ostreet.value = myTable.rows[id].cells[2].firstChild.nodeValue;
self.close();
}
</script>
<%@ page language="Java" import="java.sql.*" %>
<%@ include file = "util.inc" %>
<%@ include file = "include/pag.inc" %>
<jsp:useBean id="ob" class="OwnerBean.ownerbean" />
<jsp:setProperty
name="ob"
property="p11"
value='<%= request.getParameter("p11") %>' />
<%
out.println("p11=" + ob.getp11());
// String varp1 = request.getParameter("t11");
String varp1 = ob.getp11();
int varownerid;
String OName;
String p1;
int p;
int rkount = 0;
int pages;
ResultSet rc = null;
ob.connect();
rc = ob.exeSQL();
int rowcount;
rc.next();
rowcount = rc.getInt(1);
rkount = rowcount;
rc.close();
ob.close();
out.println(rkount);
pages = rkount;
out.println("Count of Records : " + pages + "<br>");
int cPage;
cPage = (pages / 5);
if (pages < 6)
{
cPage = 1;
}
else
{
if ((cPage * 5) == pages)
{
cPage = cPage;
}
else
{
cPage = (cPage) + 1;
}
}
out.println("Count of Pages : " + cPage + "<br><p><p>");
out.println("<hr>");
int cpage;
int currentRs;
String pt;
int varpt;
pt = request.getParameter("mv");
if (pt == null)
{
currentRs = 0;
varpt = 1;
out.println("varpt = " + varpt);
}
else
{
cpage = Integer.parseInt((String)pt);
currentRs = 5 * (cpage - 1);
out.println(cpage + "<br>");
varpt = cpage;
out.println("varpt = " + varpt);
}
ResultSet rs = null;
ob.connect();
String sql;
sql = "SELECT ownerid, oname, ostreet FROM powners WHERE oname like ? ORDER BY oname LIMIT "+ currentRs +",5";
rs = ob.execSQL(sql);
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body>");
out.println("<div id=tbl-container>");
out.println("<table width=95% border=1 id='myTable' name='myTable'>");
out.println("<thead>");
out.println("<tr>");
out.println("<th>OWNER ID</th>");
out.println("<th>OWNER NAME</th>");
out.println("<th>OSTREET</th>");
out.println("<th>EDIT</th>");
out.println("</tr>");
out.println("</thead>");
out.println("<tbody>");
int kount = 0;
String rowid;
while (rs.next())
{
kount = kount + 1;
rowid = "a" + Integer.toString(kount);
varownerid = rs.getInt("ownerid");
OName = rs.getString("oname");
out.println("<tr id=" + rowid + " onMouseover=this.bgColor='lightgrey' onMouseout=this.bgColor='#FFFFFF' onclick='cell(this.id)'>");
// out.println("<tr>");
out.println("<td>" + varownerid + "</td>");
out.println("<td>" + rs.getString(2) + "</td>");
if (rs.getString(3) != null && rs.getString(3).length() > 0)
{
out.println("<td>" + rs.getString(3) + "</td>");
}
else
{
out.println("<td>" + " " + "</td>");
}
// '<td>'.'<a href="JavaScript:"onclick="">'.$rowid.'</a>'.'</td>'.
out.println("<td><a href=\\"JavaScript:\\" onclick=\\"\\">" + rowid + "</a></td>");
out.println("</tr>");
}
// out.println("</tr>");
out.println("</tbody>");
out.println("</table>");
// out.println("</div>");
out.println("<br>");
out.println("<table width=95% >");
out.println("<tr>");
out.println("<td>");
String queryvars = "p11=" + varp1;
String vfile = "owners.jsp";
String menu = pager(currentRs, cPage, varpt, varp1, vfile, queryvars);
out.println(menu);
// out.println("</div>");
// deleted
// deleted
// *******************************************************************************
String requri;
String varqs = request.getQueryString();
out.println(varqs);
out.println("<br>");
String varurl;
if (varqs == null)
{
varurl = request.getRequestURL() +"?"+"mv="+varpt+"&p11="+varp1;
}
else
{
varurl = request.getRequestURL() +"?"+request.getQueryString();
}
out.println(varurl);
out.println("<br>");
out.println("<br>");
session.setAttribute( "ownersess", varurl );
out.println(session.getAttribute( "ownersess" ));
out.println("<br>");
out.println("</td>");
out.println("</tr>");
out.println("</table>");
out.println("</div>");
// out.println("<br>");
out.println("</body>");
out.println("</html>");
rs.close();
ob.close();
%>
<a href="ownersearch.htm">Back to search page</a>
ownerBean.java:
package OwnerBean;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
//import org.apache.jasper.tagplugins.jstl.core.Out;
public class ownerbean {
String obURL = "jdbc:mysql:///petback2";
// String dbDriver = "COM.ibm.db2.jdbc.app.DB2Driver";
// String upsql;
private String p11;
private int ownerid;
private String oname;
private String ostreet;
private Connection obCon;
/** Creates a new instance of ownerbean */
public ownerbean() {
super();
}
public boolean connect() throws ClassNotFoundException,SQLException{
Class.forName("com.mysql.jdbc.Driver");
obCon = DriverManager.getConnection(obURL, "xxxxxxx", "xxxxxxxx");
return true;
}
public void setownerid(int ownerid)
{
this.ownerid = ownerid;
}
public int getownerid()
{
return (this.ownerid);
}
public void setp11(String p11)
{
this.p11 = p11;
// this.message = message;
}
public String getp11()
{
return (this.p11);
}
public void setoname(String oname)
{
this.oname = oname;
}
public String getoname()
{
return (this.oname);
}
public void setostreet(String ostreet)
{
this.ostreet = ostreet;
}
public String getostreet()
{
return (this.ostreet);
}
public ResultSet exeSQL() throws SQLException{
String sql = "SELECT count(ownerid) FROM powners WHERE oname like ?";
try
{
PreparedStatement os = obCon.prepareStatement(sql);
os.setString(1, this.p11 + "%");
ResultSet ownerr = os.executeQuery();
// r.close();
// s.close ();
return (ownerr == null) ? null : ownerr;
}
catch (SQLException se)
{
// log exception;
throw se;
}
}
public ResultSet execSQL(String sql) throws SQLException{
try
{
PreparedStatement os = obCon.prepareStatement(sql);
os.setString(1, this.p11 + "%");
ResultSet ownerr = os.executeQuery();
return (ownerr == null) ? null : ownerr;
// PreparedStatement s = null;
}
catch (SQLException se)
{
// log exception;
throw se;
}
}
public void close() throws SQLException{
obCon.close();
}
}
util.inc which escapes strings if needed:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%!
String convJS(Object s) {
// Convert problem characters to JavaScript Escaped values
if (s == null) {
return "";
}
String t = (String)s;
t = replace(t,"\\\\","\\\\\\\\"); // replace backslash with \\\\
t = replace(t,"'","\\\\\\'"); // replace an single quote with \\'
t = replace(t,"\\"","\\\\\\""); // replace a double quote with \\"
t = replace(t,"\\r","\\\\r"); // replace CR with \\r;
t = replace(t,"\
","\\\
"); // replace LF with \
;
return t;
}
%>
<%!
String replace(String s, String one, String another) {
// In a string replace one substring with another
if (s.equals("")) return "";
String res = "";
int i = s.indexOf(one,0);
int lastpos = 0;
while (i != -1) {
res += s.substring(lastpos,i) + another;
lastpos = i + one.length();
i = s.indexOf(one,lastpos);
}
res += s.substring(lastpos); // the rest
return res;
}
%>
paging function:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%!
String pager(int currentRs, int cPage, int varpt, String vart1, String vfile, String queryvars)
{
int p;
String menu;
menu = " ";
if (cPage > 5)
{
String next = " >> ";
String prev = " << ";
int varnext = varpt + 1;
int varprev;
if (currentRs > 0)
{
varprev = varpt - 1;
menu = menu + " " +"<a href=" + vfile + "?mv=" + varprev + "&" + queryvars + ">" + prev + "</a>";
}
int cpagestart;
int cpageend;
if (currentRs == 0)
{
cpagestart = 1;
cpageend = 5;
}
else
{
// cpagestart = varpt + 1;
cpagestart = varpt;
cpageend = varpt + 4;
}
if (cpageend < cPage)
{
for(p = cpagestart; p <= cpageend ; p++)
{
if (p == varpt)
{
menu = menu + " " +"<class=\\"selected\\">"+p;
}
else
{
menu = menu + " " +"<a href=" + vfile + "?mv=" + p + "&" + queryvars + ">" + p +"</a>";
}
}
}
else
{
for(p = cpagestart; p <= cPage ; p++)
{
if (p == varpt)
{
menu = menu + " " +"<class=\\"selected\\">"+p;
}
else
{
menu = menu + " " +"<a href=" + vfile + "?mv=" + p + "&" + queryvars + ">" + p +"</a>";
}
}
}
if (varnext <= cPage)
{
menu = menu + " " +"<a href=" + vfile + "?mv=" + varnext + "&" + queryvars + ">" + next + "</a>";
}
menu = menu + " " +" Page " + varpt;
}
else
{
String next = " >> ";
String prev = " << ";
int varnext = varpt + 1;
int varprev;
if (varnext >= 3)
{
varprev = varpt - 1;
menu = menu + " " +"<a href=" + vfile + "?mv=" + varprev + "&" + queryvars + ">" + prev + "</a>";
}
for(p = 1; p <= cPage ; p++)
{
if (p == varpt)
{
menu = menu + " " +"<class=\\"selected\\">"+p;
}
else
{
menu = menu + " " +"<a href=" + vfile + "?mv=" + p + "&" + queryvars + ">" + p +"</a>";
}
}
if (varnext <= cPage)
{
menu = menu + " " +"<a href=" + vfile + "?mv=" + varnext + "&" + queryvars + ">" + next + "</a>";
}
menu = menu + " " +" Page " + varpt;
}
menu = menu + " of " + cPage;
return menu;
}
%>
Take these lines of code as an example, how would I convert to the new expression language?
if (rs.getString(3) != null && rs.getString(3).length() > 0)
{
out.println("<td>" + rs.getString(3) + "</td>");
}
else
{
out.println("<td>" + " " + "</td>");
}
Of course I’d like to convert all thats enclosed in <% %> tags to the new expression language.
Can someone help me with some lines of code to convert?