在jsf中,同一個頁面上有公有的內(nèi)容,也有非公有的內(nèi)容,通過一個按鈕進(jìn)行切換來顯示不同的內(nèi)容(通過ajax實現(xiàn)):
成都創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為雙鴨山企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都做網(wǎng)站,雙鴨山網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
前臺頁面:(這句話放到單選按鈕里面,這樣后臺就能知道切換后往后臺傳的值)
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類型進(jìn)行顯示,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();
這個是web前端的技術(shù),在jsp頁面中通過
window.scroll(0,document.getElementById(divId).offsetTop);可以實現(xiàn)頂部跳轉(zhuǎn),實現(xiàn)的方式可能不同,但基本思路差不多。 更多細(xì)節(jié)網(wǎng)上搜索下可以找到,希望對你有幫助。
java程序中的jsp頁面點擊按鈕跳轉(zhuǎn)到頁面b的方式如下:
1.jsp頁面的方式如下:a href="....b.jsp"跳轉(zhuǎn)/a
response.sendRedirect("b.jsp")
jsp:forward page="b.jsp"/
2.在swing里,給button加一個監(jiān)聽器,然后在監(jiān)聽事件中打開另一個頁面。
在jsp或是靜態(tài)網(wǎng)頁里,onclick=“JavaScript:window.location=’xx‘”