SSH框架--Struts的故事
到目前為止,我們經歷了從靜態頁面到JSP,再到JSP+Servlet+JavaBean的學習過程,又在前面學習了Struts技術。
沒有人知道宇宙是怎樣開始的。有人推論... 啊,錯了,跳到魔獸正史了。
純JSP盛行的時代是亂世,那時候編寫的HTML和JSP混用代碼很少存活到今天。業務邏輯越來越復雜,JavaBean和Servlet開始廣泛應用,這個世界里開始散發著文明的氣息,事情開始變得有秩序。Struts出現的意義大致相當于《拿破侖法典》的頒發,框架的廣泛使用鏟除了雜亂和無序,還提供給人們各種方便。EJB王朝沒落的時候,三層架構+Struts MVC開始了溫和的統治,這個新的領袖雖然沒有王冠(非jcp委員會)?,也沒有權杖(不是jsr標準),但成為了 Java Web應用開發事實標準,得到了天下。
Struts是針對JSP+Servlet的一個MVC的解決方案。
使用開發的4個步驟:
1、給項目添加Struts支持
2、實現業務邏輯類(模型,Model)
3、添加Struts組件
開發ActionForm組件(視圖組件,View)
開發Action組件(控制組件,Controller)
開發JSP頁面
修改配置文件struts-config.xml,配置ActionForm和Action
4、調試運行
demo
下面我們寫一個Calculator,簡單練習下Struts框架:
創建項目,搭建框架,我們創建biz包
public class Calculator {public double addition(double num1,double num2) {return num1+num2;}public double subtract(double num1,double num2) {return num1-num2;}public double multiply(double num1,double num2) {return num1*num2;}public double divide(double num1,double num2) {return num1/num2;} }
添加Struts支持:
創建結果頁面,修改index頁面
Welcome to out website <br><html:form action="/calc" method="post"> <input type="hidden" name="operate" /> Calculator<br/> num1: <input type="text" name="num1"><br/> num2: <input type="text" name="num2"><br/> <button οnclick="doSubmit('doAddition')">加</button> <button οnclick="doSubmit('doSubtract')">減</button> <button οnclick="doSubmit('doMultiply')">×</button> <button οnclick="doSubmit('dodDivide')">÷</button> </html:form>
<script>function doSubmit(opr){document.forms[0].elements["operate"].value=opr;document.forms[0].submit();} </script>
?
好,我們開始創建FormBean、action。
?
選擇Formbean的基類
這里action的基類,我們選擇DispatchAction,這就意味著struts-config.xml里,我們要添加屬性parameter="operate",它是index頁面加的隱藏域的值,這個,你懂的
好,下面要做的是修改Action:
public ActionForward doAddition(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.addition(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}public ActionForward doSubtract(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.subtract(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}public ActionForward doMultiply(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.multiply(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}public ActionForward dodDivide(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {CalcForm calcForm = (CalcForm) form;// TODO Auto-generated method stubCalculator calculator = new Calculator();double result;result= calculator.divide(Double.parseDouble(calcForm.getNum1()), Double.parseDouble(calcForm.getNum2()));request.setAttribute("result", result);return mapping.findForward("result");}
輸出頁面,用el表達式、jstl都行。
轉載于:https://www.cnblogs.com/xsxs/archive/2010/11/28/1890098.html
總結
以上是生活随笔為你收集整理的SSH框架--Struts的故事的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 2008概述(一)
- 下一篇: vim 记录阅读信息