My application (at least part of it) is as follows:
owners search form:
For example you can enter the letters wh to get only owners names that start with wh.Code:<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>
owners.jsp page showing 5 records at a time with pagination:
ownerBean.java:Code:<!-- <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>
util.inc which escapes strings if needed:Code: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(); } }
paging function:Code:<%@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,"\n","\\n"); // replace LF with \n; 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; } %>
Take these lines of code as an example, how would I convert to the new expression language?Code:<%@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; } %>
Of course I'd like to convert all thats enclosed in <% %> tags to the new expression language.Code:if (rs.getString(3) != null && rs.getString(3).length() > 0) { out.println("<td>" + rs.getString(3) + "</td>"); } else { out.println("<td>" + " " + "</td>"); }
Can someone help me with some lines of code to convert?





Bookmarks