?? lookupaction.java
字號:
package ch03;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.ActionError;import org.apache.struts.action.ActionErrors;import javax.sql.DataSource;import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.SQLException;import ch08.WroxActionMapping;public class LookupAction extends Action { protected Double getQuote(HttpServletRequest request, String symbol) { Double price = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; DataSource dataSource = null; try { dataSource = getDataSource(request); conn = dataSource.getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from stocks where " + "symbol='" + symbol + "'"); if ( rs.next() ) { double tmp = 0; tmp = rs.getDouble("price"); price = new Double(tmp); System.err.println("price : " + price); } else { System.err.println("---->Symbol not found returning null<----"); } } catch (SQLException e) { System.err.println(e.getMessage()); } finally { if (rs != null) { try { rs.close(); } catch (SQLException sqle) { System.err.println(sqle.getMessage()); } rs = null; } if (stmt != null) { try { stmt.close(); } catch (SQLException sqle) { System.err.println(sqle.getMessage()); } stmt = null; } if (conn != null) { try { conn.close(); } catch (SQLException sqle) { System.err.println(sqle.getMessage()); } conn = null; } } return price; } /* protected Double getQuote(String symbol) { if ( symbol.equalsIgnoreCase("SUNW") ) { return new Double(25.00); } return null; } */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { WroxActionMapping wroxMapping = (WroxActionMapping)mapping; Double price = null; String symbol = null; // Default target to success String target = new String("success"); if ( form != null ) { LookupForm lookupForm = (LookupForm)form; symbol = lookupForm.getSymbol(); price = getQuote(request, symbol); } // if price is null, set the target to failure if ( price == null ) { target = new String("failure"); ActionErrors errors = new ActionErrors(); errors.add("symbol", new ActionError("errors.lookup.unknown",symbol)); // Report any errors we have discovered if ( !errors.isEmpty() ) { saveErrors(request, errors); } } else { boolean logging = wroxMapping.getLogResults(); if ( logging ) { System.err.println("SYMBOL:" + symbol + " PRICE:" + price); } request.setAttribute("PRICE", price); } // Forward to the appropriate View return (mapping.findForward(target)); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -