java中关于页面弹出对话框问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中关于页面弹出对话框问题相关的知识,希望对你有一定的参考价值。
恳请大家帮忙指点一下,谢谢大家了!!!我想在弹出对话框后,选择确定或撤销 分别进入不同的页面,可按照下面的代码,不管选哪个都进得a.jsp页面,是代码错了吗?
JOptionPane.showConfirmDialog(null, "确定不通过此次家长会申请吗?", "提示", JOptionPane.OK_CANCEL_OPTION);
if(confirm("OK/CANCEL")==true)
request.getRequestDispatcher("/AppAudit.jsp").forward(request, response);
else
request.getRequestDispatcher("/a.jsp").forward(request, response);
if(JOptionPane.showConfirmDialog(null, "确定不通过此次家长会申请吗?", "提示", JOptionPane.OK_CANCEL_OPTION)==0)
request.getRequestDispatcher("/AppAudit.jsp").forward(request, response);
else
request.getRequestDispatcher("/a.jsp").forward(request, response);
方法签名:
showConfirmDialog
public static int showConfirmDialog(Component parentComponent,
Object message,
String title,
int optionType,
int messageType)
throws HeadlessException
调用一个由 optionType 参数确定其中选项数的对话框,messageType 参数确定要显示的图标。messageType 参数主要用于提供来自外观的默认图标。
参数:
parentComponent - 确定在其中显示对话框的 Frame;如果为 null 或者 parentComponent 不具有 Frame,则使用默认的 Frame。
message - 要显示的 Object
title - 对话框的标题字符串
optionType - 指定可用于对话框的选项的整数:YES_NO_OPTION 或 YES_NO_CANCEL_OPTION
messageType - 指定此消息种类的整数;主要用于确定来自可插入外观的图标:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE
返回:
指示用户所选选项的整数
源码如下:
public class JOptionPane extends JComponent implements Accessible
public static final int YES_OPTION = 0;
/** Return value from class method if NO is chosen. */
public static final int NO_OPTION = 1;
/** Return value from class method if CANCEL is chosen. */
public static final int CANCEL_OPTION = 2;
/** Return value form class method if OK is chosen. */
public static final int OK_OPTION = 0;
/** Return value from class method if user closes window without selecting
* anything, more than likely this should be treated as either a
* <code>CANCEL_OPTION</code> or <code>NO_OPTION</code>. */
public static final int CLOSED_OPTION = -1;
参考技术A 把
if(confirm("OK/CANCEL")==true)
改成:if(confirm("OK/CANCEL"))因为confirm本身已经是一个boolean的类型。
还有你下面的页面跳转用window.location.href("http://www.163.com");
用不用这个无所谓,但是你上面的confirm一定要改的。 参考技术B 不懂~ 你的这个的C/S应用还是B/S应用哦? 貌似像C/S
java selenium 操作弹出对话框
Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型
对话框类型
1. 警告框: 用于提示用户相关信息的验证结果, 错误或警告等
2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮
3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮
测试页面
用如下页面为例进行讲解, 包括了警告框,提示框,确认框
http://sislands.com/coin70/week1/dialogbox.htm
Selenium 操作对话框的代码
public static void testAlert(WebDriver driver) { String url="http://sislands.com/coin70/week1/dialogbox.htm"; driver.get(url); WebElement alertButton = driver.findElement(By.xpath("//input[@value=‘alert‘]")); alertButton.click(); Alert javascriptAlert = driver.switchTo().alert(); System.out.println(javascriptAlert.getText()); javascriptAlert.accept(); } public static void testPrompt(WebDriver driver) throws Exception { String url="http://sislands.com/coin70/week1/dialogbox.htm"; driver.get(url); WebElement promptButton = driver.findElement(By.xpath("//input[@value=‘prompt‘]")); promptButton.click(); Thread.sleep(2000); Alert javascriptPrompt = driver.switchTo().alert(); javascriptPrompt.sendKeys("This is learning Selenium"); javascriptPrompt.accept(); System.out.println(javascriptPrompt.getText()); javascriptPrompt=driver.switchTo().alert(); javascriptPrompt.accept(); Thread.sleep(2000); promptButton.click(); javascriptPrompt=driver.switchTo().alert(); javascriptPrompt.dismiss(); Thread.sleep(2000); javascriptPrompt=driver.switchTo().alert(); javascriptPrompt.accept(); } public static void testConfirm(WebDriver driver) throws Exception { String url="http://sislands.com/coin70/week1/dialogbox.htm"; driver.get(url); WebElement confirmButton = driver.findElement(By.xpath("//input[@value=‘confirm‘]")); confirmButton.click(); Thread.sleep(2000); Alert javascriptConfirm = driver.switchTo().alert(); javascriptConfirm.accept(); Thread.sleep(2000); javascriptConfirm = driver.switchTo().alert(); javascriptConfirm.accept(); }
以上是关于java中关于页面弹出对话框问题的主要内容,如果未能解决你的问题,请参考以下文章