十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
一、跳轉(zhuǎn)到新頁面,并且是在新窗口中打開頁面:
站在用戶的角度思考問題,與客戶深入溝通,找到湯旺網(wǎng)站設計與湯旺網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務覆蓋湯旺地區(qū)。
function openHtml()
{
//do someghing here...
window.open("xxxx.html");
}
window是一個javascript對象,可以用它的open方法,需要注意的是,如果這個頁面不是一相相對路徑,那么要加“http://”,比如:
function openHtml()
{
window.open("");
}
二、在本頁面窗口中跳轉(zhuǎn):
function totest2()
{
window.location.assign("test2.html");
}
如果直接使用location.assgin()也可以,但是window.location.assign()更合理一些,當前窗口的location對象的assign()方法。
另外,location對象還有一個方法replace()也可以做頁面跳轉(zhuǎn),它跟assign()方法的區(qū)別在于:
replace() 方法不會在 History 對象中生成一個新的紀錄。當使用該方法時,新的 URL 將覆蓋 History 對象中的當前紀錄。
用java做好的登陸界面,當?shù)顷懗晒筇D(zhuǎn)到下個頁面的代碼如下:
如果登陸驗證是在jsp中,那么跳轉(zhuǎn)可以寫成
1.response.sendRedirct("跳轉(zhuǎn)到頁面");
2.jsp:forward page="跳轉(zhuǎn)頁面"/
3.response.setHeader("Location","");
如果是登陸驗證是在servlet中,那么中轉(zhuǎn)可以寫成
1.response.sendRedirect("/a.jsp");
2.RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);
也可以使用js代碼實現(xiàn):
script
function validate(){
window.location.href="/index.jsp";
}
/script
在jsf中,同一個頁面上有公有的內(nèi)容,也有非公有的內(nèi)容,通過一個按鈕進行切換來顯示不同的內(nèi)容(通過ajax實現(xiàn)):
前臺頁面:(這句話放到單選按鈕里面,這樣后臺就能知道切換后往后臺傳的值)
p:ajax immediate="true" listener="#{userBean.userTypeChange}" update=":theShowPage" /
注釋:
immediate="true"表示跳過驗證立即執(zhí)行;
update=":theShowPage"表示切換完按鈕后更新的頁面。
后臺頁面:
public void userTypeChange(AjaxBehaviorEvent event) {
Object item = ((SelectOneMenu) event.getSource()).getSubmittedValue();
int role= Integer.parseInt((String.valueOf(item)));
if (newValue == "管理員") {
user.setUserType(1);
}
}
前臺頁面如果要顯示不同的值,可以在同一個頁面上用rendered屬性,這種驗證能通過int型或boolean類型進行顯示,String類型的不行例如:
rendered="#{userBean.user.userType==1}"
public
void
actionPerformed(ActionEvent
e)
{
if(e.getSource()
==
button)
//或者e.getActionCommand().equals("確定')
{
Login
window
=
new
Login();
window.frame.setVisible(true);
}
}
這樣就可以了。但是要在Login類中定義一個全局變量frame,即:private
JFrame
frame,并且記得初始化,frame
=new
JFrame();
jsp中通過后臺servlet是可以跳轉(zhuǎn)頁面的。 1、客戶端跳轉(zhuǎn) // 使用response對象的sendRedirect實現(xiàn)客戶端跳轉(zhuǎn) // servlet的doGet方法 public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException {怎么用java代碼控制html頁面跳轉(zhuǎn)
說說servlet里面的方法:
public void?ValidateUserPass(String user,String pass){
RequestDispathcher?rd =null
//假使你的代碼是從DB中獲取
DBFactory?db=DBFactoryImpl.getDBFactoryInstance();//得到數(shù)據(jù)庫鏈接
flg=db.findUser(user,pass);
//?這里是不存在用戶
if(flg.hasNext()==-1){
//?登錄時錯誤了,一般我們會給用戶一個提示
session.setAttirbute("msg","對不起,用戶名或密碼錯誤");
RequestDispathcher?rd?=?req.getRequesDispatcher("login.jsp");
rd.forward(request,?reponse);//將請求對象和響應對象傳遞進來
}???//?這里是存在當前用戶
else{
//當然這里登錄成功時,我們要把當前用戶寫到session里面保存
session.setAttirbute("userName",user);
//這個請求轉(zhuǎn)發(fā)語句
request.sendRedirect("index.html");
}
}
// * 上述代碼,你可以參考下我的方法,我也很久沒做JAVA開發(fā)了,我現(xiàn)在從事前端UI開發(fā),本來我想在寫一個用struts 2登錄的程序的,可我現(xiàn)在忘得差不多了,上面我所用到的屬性建議你自己好好的研究一下,往后你將學到struts2 hibernate,Spring等一系列優(yōu)秀的開源框架,說白了,這些東西的底層還是這些,只不過這些框架做了一些封裝隔離。上述代碼建議你重點理解一下:請求轉(zhuǎn)發(fā)和重定向的區(qū)別。