第一篇:Struts2一個(gè)Action內(nèi)包含多個(gè)請(qǐng)求處理方法
Struts2一個(gè)Action內(nèi)包含多個(gè)請(qǐng)求處理方法
Struts2一個(gè)Action內(nèi)包含多個(gè)請(qǐng)求處理方法的處理,method的使用方法,struts2中的路徑問(wèn)題,通配符映射
struts2的關(guān)于method=“{1}“意思詳解
====== name= ”Login_* “ 代表這個(gè)action處理所有以L(fǎng)ogin_開(kāi)頭的請(qǐng)求 method= ”{1} “ 根據(jù)前面請(qǐng)求Login_methodname,調(diào)用action中的以methodname命名的方法 class= ”mailreader2.Login “ action的類(lèi)名稱(chēng)
如jsp文件中請(qǐng)求Login_validateUser的action名稱(chēng),根據(jù)上面配置,調(diào)用action類(lèi)mailreader2.Login類(lèi)中方法validateUser()又如:
對(duì)于Login_update請(qǐng)求,將會(huì)調(diào)用mailreader2.Login的update()方法。它的用法同webwork中的!符號(hào)的作用,相當(dāng)于是一個(gè)通配符。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Struts2 學(xué)習(xí)筆記4--Action Method--接收參數(shù) 文章分類(lèi):Java編程 struts2中的路徑問(wèn)題
注意:在jsp中”/”表示tomcat服務(wù)器的根目錄,在struts.xml配置文件中”/”表示webapp的根路徑,即MyEclipse web項(xiàng)目中的WebRoot路徑??偨Y(jié):
struts2中的路徑問(wèn)題是根據(jù)action的路徑而不是jsp路徑來(lái)確定,所以盡量不要使用相對(duì)路徑。
雖然可以用redirect方式解決,但redirect方式并非必要。
解決辦法非常簡(jiǎn)單,統(tǒng)一使用絕對(duì)路徑。(在jsp中用request.getContextRoot方式來(lái)拿到webapp的路徑)
或者使用myeclipse經(jīng)常用的,指定basePath。Action Method 配置:
Action執(zhí)行的時(shí)候并不一定要執(zhí)行execute方法
1、可以在配置文件中配置Action的時(shí)候用method=來(lái)指定執(zhí)行哪個(gè)方法(前者方法)
2、也可以在url地址中動(dòng)態(tài)指定(動(dòng)態(tài)方法調(diào)用DMI)(推薦)(后者方法)/user/userAdd“>添加用戶(hù)
/user/user!add“>添加用戶(hù)
前者會(huì)產(chǎn)生太多的action,所以不推薦使用。(注:<% String context = request.getContextPath();%>)再給個(gè)案例,大概介紹!使用動(dòng)態(tài)調(diào)用DMI的方法,即通過(guò)!+方法名的指定方法: UserAction.java import com.opensymphony.xwork2.ActionContext;import java.util.Map;public class UserAction { private String userName;private String password;
public String getUserName(){ return userName;} public void setUserName(String userName){ this.userName = userName;} public String getPassword(){ return password;} public void setPassword(String password){ this.password = password;} public String execute(){ if(!userName.equals(”aa“)||!password.equals(”aa“)){ return ”error“;}else{ Map session=(Map)ActionContext.getContext().getSession();session.put(”userName“, userName);return ”success“;} }
public String loginOther(){ if(!userName.equals(”bb“)||!password.equals(”bb“)){ return ”error“;}else{ Map session=(Map)ActionContext.getContext().getSession();session.put(”userName“, userName);return ”success“;} } }
struts.xml
login_welcome.jsp <%@ page language=”java“ import=”java.util.*“ pageEncoding=”utf-8“%> <%@ taglib uri=”/struts-tags“ prefix=”s“ %>
第二篇:struts2 從一個(gè)action 跳轉(zhuǎn)到另一個(gè)action的兩種方法(本站推薦)
從action1直接跳轉(zhuǎn)到action2,有兩種方法:
1.需要保存前一個(gè)action的屬性信息時(shí)使用,保存住action1的request對(duì)象:
Struts.xml
Java代碼
1.
2. 3. 7.
[java] view plain copy
print?
1. 2.
3. 7.
action1
Java代碼
1.public class StrAction1 {
2.String a =“l(fā)iminhappygirl”;3.public String getA(){ 4.return a;
5.}
6.public void setA(String a){ 7.this.a = a;8.}
9.public String sa1(){
10.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);11.request.setAttribute(“l(fā)imin”, “happygirl”);12.System.out.println(“sal已經(jīng)執(zhí)行”);13.return “sa2”;14.} 15.16.}
[java] view plain copy
print?
1.public class StrAction1 {
2.String a =“l(fā)iminhappygirl”;3.public String getA(){ 4.return a;5.}
6.public void setA(String a){ 7.this.a = a;8.}
9.public String sa1(){
10.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);11.request.setAttribute(“l(fā)imin”, “happygirl”);12.System.out.println(“sal已經(jīng)執(zhí)行”);13.return “sa2”;14.} 15.16.}
action2
Java代碼
1.public class StrAction2 { 2.public String sa2(){
3.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);4.//當(dāng)type=“chain” 時(shí)能保存住request對(duì)象
5.System.out.println(request.getAttribute(“l(fā)imin”));6.return Action.SUCCESS;7.} 8.}
[java] view plain copy
print?
1.public class StrAction2 {
2.public String sa2(){
3.HttpServletRequest request =(HttpServletRequest)ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);4.//當(dāng)type=“chain” 時(shí)能保存住request對(duì)象
5.System.out.println(request.getAttribute(“l(fā)imin”));6.return Action.SUCCESS;7.} 8.}
第三篇:Struts2國(guó)際化與亂碼不同的方法處理
Struts2國(guó)際化
開(kāi)發(fā)工具:MyEclipse
首先當(dāng)然是建項(xiàng)目啦~
我來(lái)說(shuō)明一下文件的用處:
Messages_en.properties 是存放的是英文屬性的
Messages_zh.properties 是存放的是中文屬性的
Messages.properties 是國(guó)際化一定要的
也可以在struts.xml里寫(xiě)
小小的國(guó)際化就算完成啦~
試試:
在index.jsp加入這段
<%=ServletActionContext.getContext().getLocale()%> 這可以看到你現(xiàn)在IE用的是什么語(yǔ)言
(記得載入包)
<%@page import=“org.apache.struts2.ServletActionContext”%> <%@ taglib uri=“/struts-tags” prefix=“s”%>
運(yùn)行后
亂碼的問(wèn)題:
在這里我沒(méi)有修改項(xiàng)目的編碼 和Messages_zh.properties的編碼,也沒(méi)有在xml文件里寫(xiě)其它修改編碼的代碼 也沒(méi)有用jdk里的轉(zhuǎn)碼文件~ 都還是默認(rèn)的(ISO-88589-1)
就只有jsp的編碼改成UTF-8了~
在這里要注意的一點(diǎn)是在給Messages_zh.properties插入數(shù)據(jù)是方法錯(cuò)了~ 當(dāng)你在MyEclipse打開(kāi)properties時(shí)是會(huì)有二種不同的界面~
Properties
Source
在右下腳可以切換他們的界面
當(dāng)你用Properties界面點(diǎn)add插入中文時(shí)~MyEclipse不會(huì)報(bào)編碼錯(cuò)誤或其它什么~Value也不會(huì)變化~但在你換到Source時(shí)中文就是發(fā)生了改變~
是不是很像用JDK轉(zhuǎn)換工具后的中文編碼哦~
所以在給Messages_zh.properties插入中文時(shí)要用Properties界面進(jìn)行插入中文字符~ 當(dāng)國(guó)際化讀取時(shí)就不會(huì)亂碼了~
這個(gè)簡(jiǎn)單方法~不如大家試試~
2011-10-9
楊遠(yuǎn)強(qiáng)
第四篇:一個(gè)空間主機(jī)安裝多個(gè)網(wǎng)站的方法
多個(gè)網(wǎng)站能否安裝在一個(gè)空間主機(jī)上
空間主機(jī),大家都知道的,但是對(duì)于一個(gè)空間主機(jī)安裝多個(gè)網(wǎng)站的方法,大家肯定就不是那么了解了,中國(guó)信息港在這里就給大家詳細(xì)介紹一下其中的一些細(xì)節(jié)及步奏!一個(gè)空間主機(jī)如何安裝多個(gè)網(wǎng)站的方法
1、在空間上分別綁定 004km.cn 和 004km.cn
2、把 004km.cn 網(wǎng)站文件傳到根目錄,把 004km.cn 網(wǎng)站傳到./bbb/ 目錄
3、把下面的代碼保存為 domain.js,然后上傳到空間根目錄 以下是代碼片段: switch(location.host){ case ?004km.cn?:
location.href=”http://004km.cn/bbb/” break;}
4、往空間根目錄的首頁(yè)的
與 之間加入5、當(dāng)你輸入 004km.cn 訪(fǎng)問(wèn)時(shí)看不到任何變化,但是當(dāng)你輸入 004km.cn 訪(fǎng)問(wèn)時(shí),瀏覽器自動(dòng)跳轉(zhuǎn)到 004km.cn/bbb/。這樣便實(shí)現(xiàn)了同一個(gè)空間安裝2個(gè)網(wǎng)站了,要實(shí)現(xiàn)多個(gè)網(wǎng)站可以依此類(lèi)推。另一招:(無(wú)需綁定子目錄功能)多個(gè)域名,在同一個(gè)虛擬主機(jī)上做多個(gè)網(wǎng)站ASP實(shí)現(xiàn)同一虛擬主機(jī)空間安放多個(gè)網(wǎng)站的方法
先將您所有的域名綁定到您的虛擬主機(jī)上,然后將虛擬主機(jī)根目錄中的index.asp(首頁(yè)文件)里加入下列代碼就可以了:
<% sn=lcase(Request.ServerVariables(“SERVER_NAME”))?用于獲取用戶(hù)是通過(guò)哪個(gè)域名訪(fǎng)問(wèn)的,并轉(zhuǎn)換成小寫(xiě)
if sn=”004km.cn” or sn=” aaa.com” then server.Transfer(“default1.asp”)if sn=”004km.cn或者aaa.com的話(huà),就訪(fǎng)問(wèn)default1.asp頁(yè)面,如果是用004km.cn” then server.Transfer(“index1.asp”)%>
第五篇:一個(gè)總工對(duì)項(xiàng)目精裝修的所有問(wèn)題及處理方法做的詳細(xì)總結(jié)
電梯間標(biāo)準(zhǔn)層
現(xiàn)有問(wèn)題:
1、標(biāo)準(zhǔn)層電梯間層高、凈寬不統(tǒng)一;
2、消防煙感及報(bào)警器、電梯按鈕盒、燈具、音響、開(kāi)關(guān)面板、安全指示牌、檢修口等安裝位置均不統(tǒng)一;門(mén)洞大小、位置不統(tǒng)一。建議整改方案:
后期項(xiàng)目必須嚴(yán)格實(shí)行樣板開(kāi)路制度:將精裝修、安裝等所有相關(guān)單位包含的施工內(nèi)容統(tǒng)一樣板施工,過(guò)程中調(diào)整至最優(yōu)施工方案,然后按此樣板大面施工。
電梯間標(biāo)準(zhǔn)層硅鈣板吊頂
現(xiàn)有問(wèn)題:
1、硅鈣板吊頂邊龍骨、次龍骨安裝不平整、不順直;
2、硅鈣板吊頂邊龍骨被乳膠漆污染;
3、硅鈣板吊頂收邊收口不美觀。建議整改方案:
1、對(duì)不平整、不順直的龍骨進(jìn)行調(diào)整;
2、將被污染的邊龍骨進(jìn)行清理;
3、重新處理收邊收口。
乳膠漆 現(xiàn)有問(wèn)題:
1、乳膠漆基層膩?zhàn)硬黄秸?、打磨不到位?/p>
2、乳膠漆面漆有明顯刷痕;
3、乳膠漆細(xì)部處理不美觀:消防噴淋頭四周,面漆污染消防煙感器、燈具、音箱喇叭、檢修口等邊框;
4、陰陽(yáng)角不順直、陰角有縫隙(與墻磚銜接處)。建議整改方案:
1、對(duì)不平整、不順直的部位進(jìn)行修補(bǔ);
2、將被污染的邊框進(jìn)行清理;
3、重新處理收邊收口。
現(xiàn)有問(wèn)題:
1、乳膠漆基層空鼓、脫落;
2、乳膠漆面漆有明顯污染、破損;
3、乳膠漆人為二次損壞;
4、乳膠漆細(xì)部處理不美觀:陰陽(yáng)角不順直。建議整改方案:
1、對(duì)不平整、不順直、空鼓、脫落的部位進(jìn)行修補(bǔ);
2、重新處理收邊收口。
墻面墻磚
現(xiàn)有問(wèn)題:
1、墻面磚開(kāi)孔過(guò)大,用玻璃膠收口,影響觀感效果;
2、墻面磚部分空鼓、掉落;
3、墻面磚細(xì)部處理不美觀:收口膠縫大小不
一、收口方式不正確(未捧角)。建議整改方案:
1、更換開(kāi)孔過(guò)大的墻磚;
2、細(xì)部收邊收口重新處理。
現(xiàn)有問(wèn)題:
墻面磚細(xì)部處理不美觀:部分留縫不均、勾縫不飽滿(mǎn)、有污染。建議整改方案:
收邊收口部位重新處理。
功能性面板安裝
現(xiàn)有問(wèn)題:
1、電梯按鈕盒各樓層安裝位置不統(tǒng)一;
2、開(kāi)關(guān)面板各樓層安裝位置不統(tǒng)一、不規(guī)整(東倒西歪)且同樓層面板與面板之間安裝高度和間距不一致,部分安裝高度不符合國(guó)家規(guī)范(面板下口離地完成面1300mm);
3、消防煙感器和報(bào)警器各樓層安裝位置不統(tǒng)一、不規(guī)整(東倒西歪),部分因底盒預(yù)埋過(guò)深,不是采用加長(zhǎng)螺絲固定,而直接用玻璃膠固定;部分為后期增加,穿明管且材質(zhì)不同。
消防指示牌安裝
現(xiàn)有問(wèn)題:
1、安裝不牢固,極易掉落;
2、部分安裝位置不居中,不平整,與墻面縫隙過(guò)大,不美觀。建議整改方案:
1、固定牢固;
2、調(diào)整安裝位置,保持居中安裝。
現(xiàn)有問(wèn)題:
由于門(mén)過(guò)梁高度不一致,安裝高度不一(170mm~300mm)不等,不美觀。建議整改方案:
調(diào)整安裝位置。通風(fēng)進(jìn)百葉安裝
現(xiàn)有問(wèn)題:
1、安裝位置不規(guī)整(東倒西歪);
2、沒(méi)完全遮蓋墻磚縫隙,不美觀; 建議整改方案:
調(diào)整安裝位置。
墻面暗藏門(mén)
現(xiàn)有問(wèn)題:
1、墻面鋼架固定方式不正確:直接在加氣磚上安裝膨脹螺釘與鋼架連接;
2、與墻面連接采用鋼筋,而且還不做防銹處理。建議整改方案:
1、重新制作墻面鋼架基層及飾面磚;
2、鋼架加固,并做好防銹處理。備注:
1、針對(duì)加氣磚墻面應(yīng)采用先安裝預(yù)埋鋼板與鋼架連接的方式;
2、與墻面連接應(yīng)采用鋼架。
首層墻面暗藏門(mén):消防栓門(mén)、強(qiáng)電管井門(mén)、水井門(mén)等
現(xiàn)有問(wèn)題:
1、部分開(kāi)啟角度不能達(dá)到角度90°;
2、未設(shè)置瓷碰,導(dǎo)致開(kāi)啟不便或關(guān)閉不嚴(yán)實(shí)、不平整(內(nèi)凹)。建議整改方案:
1、調(diào)整合頁(yè)(轉(zhuǎn)軸);
2、增加瓷碰。
標(biāo)準(zhǔn)層墻面明裝門(mén):強(qiáng)電管井門(mén)、水井門(mén)等
現(xiàn)有問(wèn)題:
1、部分管井門(mén)門(mén)上方有明顯縫隙:無(wú)填充處理或未打膠收邊收口;
2、不銹鋼門(mén)套四周收邊收口打膠不順直、不美觀。建議整改方案:
1、更換不銹鋼門(mén)套;
2、重新處理縫隙收邊收口部位。
現(xiàn)有問(wèn)題:
1、不銹鋼門(mén)套捧角處縫隙過(guò)大;
2、不銹鋼門(mén)套有變形;
3、部分不銹鋼門(mén)套安裝不水平、不垂直。建議整改方案:
1、更換不銹鋼門(mén)套;
2、重新處理縫隙收邊收口部位。
現(xiàn)有問(wèn)題:
1、部分管井門(mén)下方門(mén)檻未補(bǔ)爛、找平;
2、管井門(mén)下方門(mén)檻收邊收口不美觀、不標(biāo)準(zhǔn):膩?zhàn)诱移讲黄秸?,且未滿(mǎn)刮。建議整改方案:
1、完成水泥砂漿補(bǔ)爛、找平;
2、滿(mǎn)刮膩?zhàn)诱移剑ū苊庥绊戦T(mén)扇和墻磚)。備注:
常用做法:應(yīng)采用墻磚捧角的方式,達(dá)到收邊收口美觀。
檢修口(首層門(mén)廳)
現(xiàn)有問(wèn)題:
1、檢修口位置設(shè)置不統(tǒng)一,各樓層均不同;
2、檢修口位置設(shè)置不合理:部分檢修口設(shè)置在入戶(hù)門(mén)正上方或過(guò)道正上方,影響整體觀感效果。建議整改方案:
重新選位設(shè)置,并達(dá)到各樓層定位一致且不影響整體觀感效果。
檢修口(標(biāo)準(zhǔn)層電梯廳)
現(xiàn)有問(wèn)題:
1、檢修口位置設(shè)置不統(tǒng)一,各樓層均不同;
2、檢修口位置設(shè)置不合理:部分檢修口設(shè)置在電梯門(mén)上方,且離石材門(mén)套太近,不美觀。
3、部分標(biāo)準(zhǔn)層未設(shè)檢修口,不便于后期電路維修。建議整改方案:
1、重新選位設(shè)置,并達(dá)到各樓層定位一致;
2、所有標(biāo)準(zhǔn)層增設(shè)檢修口。
地面地磚
現(xiàn)有問(wèn)題:
1、地磚與墻磚間縫隙過(guò)大;
2、地磚與電梯邊框縫隙過(guò)大。建議整改方案:
將雜物清理干凈,用水泥砂漿補(bǔ)縫、找平。
現(xiàn)有問(wèn)題:
1、地磚踢腳線(xiàn)粘接層太厚,完成面已高出入戶(hù)門(mén)門(mén)框,不美觀;
2、地磚與消防管道收口處縫隙過(guò)大。建議整改方案:
1、拆除踢腳線(xiàn),重新粘貼,控制粘接層厚度;
2、將雜物清理干凈,用水泥砂漿補(bǔ)縫、找平。
現(xiàn)有問(wèn)題:
1、標(biāo)準(zhǔn)層地磚完成面與入戶(hù)門(mén)有明顯高低差;
2、標(biāo)準(zhǔn)層地磚完成面與消防樓梯間地平有10mm~70mm不等的明顯高差,不符合國(guó)家規(guī)范:消防通道為無(wú)障礙通道;
3、出現(xiàn)高低差門(mén)檻里面收邊收口不統(tǒng)一:部分用水泥砂漿填充且毛刺不平、部分用墻磚粘貼、部分用門(mén)檻石磚粘貼。建議整改方案:
1、收邊收口統(tǒng)一用與門(mén)檻石相同材質(zhì)的地磚處理; 2、20mm以?xún)?nèi)高差用水泥砂漿抹平處理。
收邊收口
現(xiàn)有問(wèn)題:
打膠不順直,有破損、有污染。建議整改方案:
清理膠縫后,重新打膠。
現(xiàn)有問(wèn)題:
打膠不順直,有破損、有遺漏、膠縫大小不均。建議整改方案:
1、清理膠縫后,重新打膠。
2、遺漏部位補(bǔ)膠。