【问题标题】:Java validate HTML string inside Java code [duplicate]Java验证Java代码中的HTML字符串[重复]
【发布时间】:2012-11-28 17:24:31
【问题描述】:

我正在尝试验证我的 HTML 中的字符串位置作为我的 Java 程序中的标记,以便如果有人更改 HTML 标记字符串,我的 Java 程序会检查该字符串是否是我写的。

这是我的 java...

public void init()
{
    String name = getParameter("author");
    String course = getParameter("class");


    if (name == "goes here")
    JOptionPane.showMessageDialog (null, "Good, it will setVisible(true)", "Library System", JOptionPane.WARNING_MESSAGE);
    if (name != "goes here")
        JOptionPane.showMessageDialog (null, "NOT good and will setVisible(false)", "Library System", JOptionPane.WARNING_MESSAGE);

    Container contain = getContentPane();
    contain.add(new LibraryPanel(name, course));
    setVisible(true);
}

这是我的 HTML...

<html>
<body>
<applet code=3.LibraryFrame.class width=650 height=700>
    <param name=author value="goes here">
    <param name=class value="className">
</applet>

</body>
</html>

因此,当我的 HTML 标记中的字符串正确时,它总是说它不匹配。我什至在我的 showMessageDialog 中放置了 name 和 course 变量并且它匹配。

关于为什么它没有正确验证的任何想法?

【问题讨论】:

    标签: java html swing


    【解决方案1】:
    if (name == "David Duke")
    

    切勿在 Java 中使用 ==!= 来比较字符串。请改用equals()

    if (name.equals("David Duke"))
    

    请注意,== 检查其左右两个参数是否指向完全相同的对象 - 它检查两个对象的内容是否相同。

    【讨论】:

    • 太棒了,我刚刚尝试了 .equalsignorecase(),它现在可以工作了。
    【解决方案2】:

    始终将字符串与equals() 进行比较,而从不与== 进行比较。

    应该是

    if ("David Duke".equals(name))
    

    因为== 比较引用数据类型的引用。

    您也可以去掉第二条if 语句并使用else

    【讨论】:

    • 我尝试测试结果,我使用了许多 if 语句来查看发生了什么。
    猜你喜欢
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2013-04-26
    • 2020-09-16
    • 2012-12-10
    • 1970-01-01
    相关资源
    最近更新 更多