0

我试图让这个 if 语句显示

    <s:hidden id="userNameTest" value="nameTest"></s:hidden>
        <s:if test="userNameTest.value.equals('false')">
                That name is already in use.
        </s:if>

如果这发生在我的操作页面中

    public String createUser()
{
    user.set_permission("user");
    if(user.get_userName().matches("^([a-zA-Z0-9]{5,15})$")&&(user.get_password().matches("^((?=.+\\d).{8,20})$")))
    {
        if(manager.checkUserName(user.get_userName()) == false)
        {
            manager.createUser(user);
            valueButton = "userPage";
        }
        else
        {
            valueButton = "createUser";
        }
    }
    else
    {
        nameTest = false;
        valueButton = "createUser";
    }
    return valueButton;
}

我尝试在 jsp onclick 中将隐藏字段设置为 false,如您在上面看到的,我尝试在操作中将其设置为 false。我在其他网站上查找过,但找不到我想要的。

4

5 回答 5

1

请使用 JSTL 核心标签。作为惯例,前缀将是<c:>

nameTest解决方案是在您的操作类中设置请求属性:

布尔比较:

<c:if test="nameTest eq false">
..
</c:if>

字符串比较:

<c:if test="nameTest eq 'false'">
..
</c:if>
于 2012-09-28T16:03:30.210 回答
1

如果您的变量nameTest是布尔值,那么<s:if test="!nameTest"> User Name is Taken </s:if>将起作用。

于 2012-09-28T18:51:21.247 回答
0
  1. 首先,为了检查您的值在 JSP 中是否正确,您可以使用s:debug或打印它<s:property value = "nameTest"/>

  2. 如果要使用 if 条件,可以直接检查 throught

<s:if test="nameTest =='false'"> User Name is Taken </s:if>

于 2012-09-28T15:48:29.660 回答
0

尝试以下。

1)
    <s:if test="'${nameTest}'=='false'">   
        That name is already in use.
    </s:if>

2)如果该变量是布尔值,那么试试这个

    <s:if test="%{${nameTest} == false}">   
            That name is already in use.
    </s:if>

nameTest动作类中必须有 getter 和 setter

于 2012-10-01T10:31:24.487 回答
0

由于您使用的是 struts2,因此基于结果显示警报的更通用方法如下(我也在此处使用 Bootstrap 框架,因为它提供了更好的外观、感觉和响应性):

填写表单并提交后,操作类完成它的工作并返回“成功”或“错误”。然后将其映射到 struts.xml 中,您应该在其中执行此操作 -

<action name="the-form-action" class="com.example.action.MyActionClass">
    <result name="success">/result-page.jsp?result=true</result>
    <result name="error">/result-page.jsp?result=false</result>
</action>

在 result-page.jsp(也可以是您的初始表单页面)中添加此代码

        //Tags and everything
        <body>
        <%
            String result=request.getParameter("result");
            if (result==null)
                result="";
            if (result.equalsIgnoreCase("true"))
            {
        %>
            <div class="alert alert-success alert-dismissible" role="alert">
                <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <strong>Success!</strong> Who's the boss?! You're the boss!!
            </div>
        <%
            }
            if (result.equalsIgnoreCase("false"))
            {
        %>
            <div class="alert alert-danger alert-dismissible" role="alert">
                <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <strong>Oops!</strong> There seems to be an error! You may try the following :<br>
                <ul>
                 <li>Fill the compulsory fields</li>
                 <li>Pray to god</li>
                </ul>
            </div>
        <%
            }
        %>

        //Rest of the body
        </body>

现在警报只会显示成功或失败。

于 2015-03-08T12:54:44.233 回答