【问题标题】:Hdiv 3.4.0 and spring with hidden inputHdiv 3.4.0 和带有隐藏输入的弹簧
【发布时间】:2018-10-25 12:23:55
【问题描述】:

在 spring 表单中我隐藏了输入

喜欢

<form:form method="post" modelAttribute="order" name="..." action="processListOrdersSelect.html">
            <p>
                <label for="username">Select Username:</label>
                <form:select path="username">
                    <form:option value="j2ee" label="j2ee" />
                </form:select>
            </p>

            <input type="hidden" name="test" value="test" />
            <form:button onclick="submit()">View Orders</form:button>
</form:form>

当我使用此表单提交时,Hdiv 安全性会授予我未经授权的访问权限, 我认为 Hdiv 在为参数篡改生成 Hdiv _HDIV_STATE_ 时没有使用输入隐藏字段。 如何让 Hdiv 在不使用

的情况下使用我的隐藏输入
<form:hidden path="test" value="test" /> 

因为我没有此属性标记的任何值 bean。 我希望 Hdiv 验证隐藏的输入,不要使用

跳过它们
<hdiv:paramsWithoutValidation> 
    <hdiv:mapping url="/.*" parameters="test" />
</hdiv:paramsWithoutValidation>

请告诉我如何解决这个问题??

【问题讨论】:

    标签: spring field hidden hdiv


    【解决方案1】:

    Hdiv 知道使用 &lt;form:hidden&gt; 等标签生成的表单字段,因为参数的值是从 Spring MVC 标签中获取的。 如果生成的表单字段没有 Spring MVC 标签,则不会被 Hdiv 处理,并被视为客户端包含的新字段。

    使用 Spring 标记或排除问题中提到的参数验证。

    【讨论】:

    • 是的,我知道,但我必须使用 而不使用 标记,因为我的模型不需要这个值并通过使用 tld org.hdiv.tags.CipherTag" /> 在我的表单中
    • 感谢您的回答 gillarramendi。当我在隐藏值中使用 时,它是有效的,但是当在表单字段中使用它时,类型为文本不工作。我有巨大的系统将其全部更改为 spring MVC 标签。请告诉我是否有任何方法可以在没有 spring MVC 标签的情况下将 hdiv 与表单字段一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2020-08-10
    相关资源
    最近更新 更多