扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一、跳转到新页面,并且是在新窗口中打开页面:
站在用户的角度思考问题,与客户深入沟通,找到汤旺网站设计与汤旺网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、成都网站建设、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网页空间、企业邮箱。业务覆盖汤旺地区。
function openHtml()
{
//do someghing here...
window.open("xxxx.html");
}
window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加“http://”,比如:
function openHtml()
{
window.open("");
}
二、在本页面窗口中跳转:
function totest2()
{
window.location.assign("test2.html");
}
如果直接使用location.assgin()也可以,但是window.location.assign()更合理一些,当前窗口的location对象的assign()方法。
另外,location对象还有一个方法replace()也可以做页面跳转,它跟assign()方法的区别在于:
replace() 方法不会在 History 对象中生成一个新的纪录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前纪录。
用java做好的登陆界面,当登陆成功后跳转到下个页面的代码如下:
如果登陆验证是在jsp中,那么跳转可以写成
1.response.sendRedirct("跳转到页面");
2.jsp:forward page="跳转页面"/
3.response.setHeader("Location","");
如果是登陆验证是在servlet中,那么中转可以写成
1.response.sendRedirect("/a.jsp");
2.RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");
dispatcher .forward(request, response);
也可以使用js代码实现:
script
function validate(){
window.location.href="/index.jsp";
}
/script
在jsf中,同一个页面上有公有的内容,也有非公有的内容,通过一个按钮进行切换来显示不同的内容(通过ajax实现):
前台页面:(这句话放到单选按钮里面,这样后台就能知道切换后往后台传的值)
p:ajax immediate="true" listener="#{userBean.userTypeChange}" update=":theShowPage" /
注释:
immediate="true"表示跳过验证立即执行;
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是可以跳转页面的。 1、客户端跳转 // 使用response对象的sendRedirect实现客户端跳转 // servlet的doGet方法 public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException {怎么用java代码控制html页面跳转
说说servlet里面的方法:
public void ValidateUserPass(String user,String pass){
RequestDispathcher rd =null
//假使你的代码是从DB中获取
DBFactory db=DBFactoryImpl.getDBFactoryInstance();//得到数据库链接
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);
//这个请求转发语句
request.sendRedirect("index.html");
}
}
// * 上述代码,你可以参考下我的方法,我也很久没做JAVA开发了,我现在从事前端UI开发,本来我想在写一个用struts 2登录的程序的,可我现在忘得差不多了,上面我所用到的属性建议你自己好好的研究一下,往后你将学到struts2 hibernate,Spring等一系列优秀的开源框架,说白了,这些东西的底层还是这些,只不过这些框架做了一些封装隔离。上述代码建议你重点理解一下:请求转发和重定向的区别。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流