鏈榪戣寮濮嬪仛欏圭洰浜嗭紝欏圭洰涓彲鑳戒細鐢ㄥ埌Struts2鍜孎reemarker闆嗘垚錛屾墍浠ュ仛浜嗕釜瀹炰緥緇欏ぇ瀹跺垎浜竴涓嬨?/p>
鍓嶆湡鐨勯厤緗畐eb.xml錛屽鍏ar鍖呭氨涓嶇粰澶у浠嬬粛浜嗭紝榪欎簺鍐呭鍋氳繃struts2鐨勬湅鍙嬬殑闈炲父鐔熸倝錛屽鏋滄湁涓嶄細鐨勫ぇ瀹跺彲浠ユ壘涓涓嬪府鍔╂枃妗f垨鑰呬笂浜掕仈緗戜笂鎼滅儲涓涓嬭В鍐蟲柟娉曘?/p>
鐪嬭繃struts2緇撴瀯鍥劇殑鏈嬪弸浠兘搴旇鐭ラ亾struts2鐨勫睍鐜板眰涓嶅啀鏄儚struts1閭f牱鍗曠函鐨刯sp浜嗭紝瀹冭兘澶熼泦鎴愬緢澶氬睍鐜板眰鎶鏈紝渚嬪浠婂ぉ璇寸殑freemarker絳夌瓑銆?/p>

鏃㈢劧涓婇潰閮借鍒頒簡freemarker浠呬粎鏄竴涓睍鐜板眰鎶鏈紝閭d箞鎴戜滑鑷劧浼氭兂鍒幫紝freemarker搴旇鍜宻truts2涓厤緗殑action鏍囩涓殑result鏈夊叧緋伙紝鍏跺疄灝辨槸榪欐牱鐨勶紝鎴戜滑鐭ラ亾struts2鐨剅esult鏍囩灝辨槸鍖歸厤璺寵漿璺緞鎺у埗灞曠ず灞傜殑浣滅敤錛屾墍浠ユ垜浠埄鐢╯truts2鍜宖reemarker鐨勬渶榪戞湰鎿嶄綔灝辨槸閰嶇疆result鏍囩錛屾妸鍘熷厛鐨剅esult鏍囩鐨則ype鍙樻垚freemarker錛岃煩杞殑鏂囦歡鍙樻垚freemarker鐨勬ā鏉挎枃浠跺嵆鍙傞厤緗涓嬶細
- <struts>
-
- <package name="struts"extends="struts-default">
-
- <action name="userLogin"class="com.test.action.LoginAction" method="userLogin">
-
- <result name="success" type="freemarker">
-
- /WEB-INF/templates/user.ftl
-
- </result>
-
- </action>
-
- </package>
-
- </struts>
濡傛灉鎴戜滑瑕佹槸鐢╯truts2鐨勬敞瑙f柟寮忔潵閰嶇疆action鐨勮瘽錛岄偅涔堟垜浠氨浼氳繖鏍烽厤緗細
- @Action(value = "showadd", results ={ @Result(name = "success", type = "freemarker", location ="/flt/adduser.ftl") })
鎬諱箣灝辨槸瑕佹敼result鐨勭被鍨嬪拰璺寵漿鏂囦歡綾誨瀷鍗沖彲銆?/p>
鏈鍚庢垜浠涓涓嬫垜浠庝箞灝嗘ā鏉夸腑鐨勫彉閲忓彉鎴愬疄闄呯殑鍊鹼紝榪欎釜涔熸槸姣旇緝綆鍗曠殑錛屾垜浠繖涓伐浣滆鍦╝ction涓疄鐜幫紝鍏蜂綋灝辨槸鎴戜滑瑕佸皢妯℃澘涓殑鍙橀噺瀹氫箟鍒癮ction涓紝騫朵笖鐢熸垚get鍜宻et鏂規硶錛屾渶鍚庡湪鐩稿簲鐨勪笟鍔℃柟娉曚腑灝嗚繖涓彉閲忚祴鍊鹼紝榪欐牱struts2灝變細鑷姩鐨勪負鎴戜滑灝嗗煎~鍐欏埌妯℃澘涓紝褰㈡垚鐪熷疄鐨勫睍鐜伴〉闈紝鏈鍚庤煩杞樉紺虹粰鐢ㄦ埛銆?/p>
Freemarker鐨勬ā鏉垮疄渚嬶細
- <html>
-
- <head>
-
- <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
-
- <title>Insert title here</title>
-
- </head>
-
- <body>
-
- <formmethodformmethod="post" action="${formaction}" name="${formname}">
-
-
-
- <input id="${adduser_username}" name="${adduser_username}" type="${text}" value="" />
-
- <input id="${adduser_password}" name="${adduser_password}" type="${text}" value=""/>
-
- <input id="${adduser_submit}" name="${adduser_submit}" type="${submit}" value="adduser" />
-
- </form>
-
- </body>
-
- </html>
瀵瑰簲鐨刟ction錛?/p>
- private Stringformaction;
-
-
-
- private Stringformname;
-
-
-
- private Stringadduser_username;
-
-
-
- private Stringadduser_password;
-
-
-
- private Stringadduser_submit;
-
-
-
- private Stringtext;
-
-
-
- private Stringsubmit;
-
-
-
- public StringgetAdduser_username() {
-
- returnadduser_username;
-
- }
-
-
-
- publicvoidsetAdduser_username(String adduser_username) {
-
- this.adduser_username = adduser_username;
-
- }
-
-
-
- public StringgetAdduser_password() {
-
- returnadduser_password;
-
- }
-
-
-
- publicvoidsetAdduser_password(String adduser_password) {
-
- this.adduser_password = adduser_password;
-
- }
-
-
-
- public StringgetAdduser_submit() {
-
- returnadduser_submit;
-
- }
-
-
-
- publicvoid setAdduser_submit(Stringadduser_submit) {
-
- this.adduser_submit = adduser_submit;
-
- }
-
-
-
- public StringgetText() {
-
- returntext;
-
- }
-
-
-
- publicvoidsetText(String text) {
-
- this.text =text;
-
- }
-
-
-
- public StringgetSubmit() {
-
- returnsubmit;
-
- }
-
-
-
- publicvoidsetSubmit(String submit) {
-
- this.submit =submit;
-
- }
-
-
-
- public StringgetFormaction() {
-
- returnformaction;
-
- }
-
-
-
- publicvoidsetFormaction(String formaction) {
-
- this.formaction =formaction;
-
- }
-
-
-
- public StringgetFormname() {
-
- returnformname;
-
- }
-
-
-
- publicvoidsetFormname(String formname) {
-
- this.formname =formname;
-
- }
-
-
-
-
-
- @Action(value= "showadd", results = { @Result(name ="success", type = "freemarker", location = "/flt/adduser.ftl") })
-
- public Stringshowadd() throws Exception {
-
- /*
-
- * FreeMarkerUtil freeMarkerUtil=newFreeMarkerUtil();
-
- * Map<String,Object> root=newHashMap<String,Object>(); //涓烘暟鎹ā鍨嬫坊鍔犲?nbsp;
-
- * root.put("formaction","adduser"); root.put("formname", "adduser");
-
- *
-
- * FileWriter out=new FileWriter(newFile("/adduser.ftl"));
-
- * freeMarkerUtil.printFile("/flt","adduser.ftl",root, out);
-
- */
-
- setFormaction("adduser");
-
- setFormname("adduser");
-
- setAdduser_password("password");
-
- setAdduser_submit("adduser_submit");
-
- setAdduser_username("username");
-
- setText("text");
-
- setSubmit("submit");
-
- return"success";
-
- }
榪欐牱鎴戜滑榪愯灝辮兘澶熺湅鍒版垜浠殑涓涓坊鍔犻〉闈紝闇瑕佸~鍏ョ敤鎴峰悕鍜屽瘑鐮併?/p>
]]>