成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Spring FreeMarker整合Struts2過程詳解

瀏覽:264日期:2023-08-07 15:36:33

struts2可以非常簡單地使用FreeMarker模板作為視圖技術,對于傳統的jsp頁面而言,FreeMarker是一個絕佳的替代方案。除此之外,Struts2默認采用FreeMarker作為其模板文件,而Struts2所有的主題模板文件都是采用FreeMarker編寫的Struts2使用FreeMarker作為其?認的模板技術,因此Strus2對FreeMarker的支持非常良好。因此,為了在Struts2應用中使用FreeMarker模板技術,只需要在Struts.xml文件中進行簡單配置即可

在FreeMarker模板中使用Struts2標簽,將struts-tags.tld文件復制到WEB-INF目錄下:將Struts2-core.jar包解壓,取出其中的struts-tags.tld文件,并復制到web應用的WEB-INF目錄下。你可以使用解壓軟件打開JAR包,文件在META-INF下。

在web.xml文件中啟動JspSupportServlet:

在web.xml文件中作如下配置

<servlet> <servlet-name>JspSupportServlet</servlet-name> <servlet-class> org.apache.struts2.views.JspSupportServlet </servlet-class> <!--配置JspSupportServlet自啟動--> <load-on-startup>1</load-on-startup> </servlet>

在FreeMarker模板文件中使用“assign指令”導入標簽庫

<#assign s=JspTaglibs['/WEB-INF/struts-tags.tld'] />

編寫登錄頁面FTL文件:

<#assign s=JspTaglibs['/WEB-INF/struts-tags.tld'] /> <html> <head> <title>登錄頁面</title> </head> <body> 登陸<br> <@s.form action='Login.action'> <@s.textfield name='username' label='用戶名'/> <@s.textfield name='password' label='密碼'/> <@s.submit value='提交'/> </@s.form> 提示:${name1}=${name2} </body> </html>

注意:

name1和name2屬性,是后面從Action里面獲取的屬性,這里是為了驗證在模版中獲取屬性值

WEB容器默認不會處理 FreeMarker模板頁面,如果直接通過瀏覽器直接請求該頁面,否則看到的不是我們想要的結果,而是該模板頁面的源代碼

編輯Struts2配置文件:

<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE struts PUBLIC '-//Apache Software Foundation//DTD Struts Configuration 2.3//EN' 'http://struts.apache.org/dtds/struts-2.3.dtd'> <struts> <constant name='struts.enable.DynamicMethodInvocation' value='false' /> <constant name='struts.devMode' value='true' /> <constant name='struts.i18n.encoding' value='UTF-8'/> <package name='default' namespace='/' extends='struts-default'> <global-results> <result name='error'>/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception='java.lang.Exception' result='error'/> </global-exception-mappings> </package> <package name='example' namespace='/example' extends='default'> <action name='HelloWorld' class='com.test.LoginAction'> <result name='success' type='freemarker'>/WEB-INF/ftl/welcome.ftl</result> </action> </package> </struts>

注意:result視圖類型是freemarker

編寫Action類處理代碼:

package com.test; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; @SuppressWarnings('serial') public class LoginAction implements Action { private String name1 = 'AAAAA'; public String execute() throws Exception { HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute('name2', 'BBBBB'); return SUCCESS; } public String getName1() { return name1; } public void setName1(String name1) { this.name1 = name1; } }

訪問路徑http://127.0.0.1:8080/f/example/HelloWorld.action

輸出內容如下

Spring FreeMarker整合Struts2過程詳解

特別提示:

在Struts中配置編碼<constant name='struts.i18n.encoding' value='UTF-8'/>

在頁面文件中指定編碼<meta http-equiv='Content-type' content='text/html; charset=UTF-8'>

特別還要注意welcome.ftl文件屬性里面的編碼格式,如果不是統一格式,會有亂碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲国产精品一区二区www| 精品亚洲国内自在自线福利| 日本一不卡视频| 欧美日韩亚洲一区三区| 91福利在线导航| 国外精品视频| 一二三四区精品视频| 蜜桃视频免费观看一区| 性欧美videos另类喷潮| 夜夜嗨av一区二区三区四季av| 亚洲午夜伦理| 国产精品乱人伦一区二区| 国产成人综合在线| 精品久久久久99| 精品欧美乱码久久久久久| 老司机精品视频在线| 亚洲一区二区三区高清| 一区二区免费在线播放| 91视频.com| 久久久久国产成人精品亚洲午夜| 国产自产高清不卡| 欧美一级黄色大片| 国产成人免费在线观看不卡| 日韩欧美色综合网站| 在线观看成人一级片| 国产欧美日韩中文久久| 成人av免费在线播放| 日韩一区二区三区免费看| 亚洲欧美韩国综合色| 欧美日韩网站| 国产校园另类小说区| 成人av在线看| 亚洲黄色在线视频| 国产精品chinese| 久久日一线二线三线suv| 成人中文字幕电影| 欧美日韩精品二区第二页| 免费高清在线视频一区·| 久久精品五月婷婷| 日韩电影在线一区二区三区| 国产日韩一区欧美| 亚洲精品福利视频网站| 亚洲激情一区| 亚洲男人天堂av| 99国产精品视频免费观看一公开| 国产精品国产自产拍高清av王其| 亚洲成av人片一区二区三区| 先锋影音国产一区| 亚洲尤物视频在线| 99国产一区| 亚洲色图丝袜美腿| 麻豆久久久9性大片| 午夜国产精品一区| 美女亚洲精品| 日韩av网站免费在线| 欧美亚洲动漫制服丝袜| 国产一区二区电影| 精品欧美一区二区久久 | 天天色图综合网| 91日韩在线专区| 中文字幕一区免费在线观看| 91香蕉视频在线| 国产亚洲一二三区| 一区久久精品| 日韩一区在线免费观看| 国产精品久久久久久久久久直播| 亚洲大型综合色站| 欧美在线你懂得| 日本v片在线高清不卡在线观看| 色久优优欧美色久优优| 韩国毛片一区二区三区| 亚洲精品一区二区三区99 | 99久久精品免费看| 亚洲国产高清不卡| 韩日在线一区| 亚洲国产精品久久久男人的天堂| 美日韩精品视频| 精品一区二区三区在线观看| 日韩一区二区三区免费观看| 91视频.com| 国产精品久久国产精麻豆99网站| 成人激情黄色小说| 精品国产免费人成电影在线观看四季| 欧美久久久久久| 一区二区三区欧美| 色欧美日韩亚洲| 国产a区久久久| 国产精品剧情在线亚洲| 久久久久久久久久久一区| 极品少妇一区二区| 久久久久一区二区三区四区| 狠狠入ady亚洲精品| 亚洲精品欧美激情| 欧美图区在线视频| av福利精品导航| 中文字幕亚洲精品在线观看| 性久久久久久| 丁香六月综合激情| 亚洲人123区| 欧美视频在线观看一区二区| 91香蕉视频污| 午夜亚洲福利老司机| 日韩视频一区二区三区在线播放| 国产在线成人| 日韩中文字幕麻豆| 日韩欧美国产精品| 亚洲人成免费| 国产在线视频一区二区三区| 日本一区二区视频在线| 亚洲一区二区精品在线| 久久电影网电视剧免费观看| 91精品国产乱码久久蜜臀| 91女神在线视频| 日韩电影免费在线观看网站| 精品日韩一区二区三区| 国产亚洲福利| 成人午夜在线免费| 亚洲综合在线免费观看| 91精品国产综合久久久蜜臀粉嫩| 狠狠色噜噜狠狠狠狠色吗综合| 日韩av在线播放中文字幕| 久久久综合视频| 久久免费黄色| 欧美黄色大片网站| 奇米一区二区三区| 国产精品灌醉下药二区| 欧美日韩成人综合在线一区二区| 亚洲第一精品影视| 国产精品99久久久久久似苏梦涵 | ●精品国产综合乱码久久久久| 在线观看中文字幕不卡| 色综合婷婷久久| 麻豆精品视频在线观看视频| 国产精品久久午夜| 欧美精品久久99久久在免费线 | 色综合天天综合狠狠| 午夜精品福利一区二区三区蜜桃| 久久先锋资源网| 在线免费观看日本一区| 欧美先锋影音| 丝袜美腿高跟呻吟高潮一区| 99精品在线观看视频| 麻豆精品国产91久久久久久| 欧美经典三级视频一区二区三区| 欧美丝袜自拍制服另类| 樱桃成人精品视频在线播放| 欧美电视剧免费观看| 国产女主播一区二区三区| www.日韩大片| 日本最新不卡在线| 中文一区在线播放| 日韩一区二区电影| 91国模大尺度私拍在线视频| 99国产精品久久久久老师| 成人av网站在线| 奇米综合一区二区三区精品视频 | 在线免费观看欧美| 成人午夜在线视频| 日韩成人午夜电影| 亚洲少妇中出一区| 91精品国产入口| 亚洲一区二区高清视频| av影院午夜一区| 老司机精品视频在线| 亚洲成人高清在线| 国产目拍亚洲精品99久久精品| 欧美一区二区日韩一区二区| 久久久综合网| av成人黄色| 91蜜桃在线观看| 蜜臀精品久久久久久蜜臀 | 综合av第一页| 久久久夜色精品亚洲| 欧美老肥妇做.爰bbww视频| 久久国产精品一区二区三区| 欧美午夜不卡影院在线观看完整版免费| 国产传媒久久文化传媒| 蜜桃av一区二区| 天天做天天摸天天爽国产一区| 亚洲免费成人av| 国产精品欧美极品| 精品国产3级a| 日韩一区二区三区在线视频| 色婷婷综合久久久中文字幕| 国产一区二区三区久久| 国产精品初高中精品久久 | 欧美日韩免费一区二区三区视频| 国产精品伊人日日| 一区三区视频| 欧美日韩综合| 波多野结衣中文字幕一区| 精品中文字幕一区二区小辣椒| 亚洲自拍另类综合| 国产精品久久久99| 欧美激情中文字幕| 久久欧美一区二区| 久久综合资源网| 26uuu精品一区二区三区四区在线| 欧美tickling挠脚心丨vk| 91精品国产手机|