小编mic*_*777的帖子

在应用程序中存储IP地址的最佳方法是什么?

我正在开发基于Spring和JSF 2.0的应用程序.需要记住特定IP地址的客户端在过去3分钟内尝试提交表单的次数.如果在3分钟内记录了超过3次提交尝试,则应显示验证码.

我正在考虑使用ConcurrentMap<String, ConcurrentLinkedQueue<Long>>存储ip地址(String)并在queue(ConcurrentLinkedQueue<Long>)中提交时间(milis ).Quartz将以3分钟的间隔清理队列(将删除3分钟以上的milis).要检查是否显示验证码,我将检查队列大小是否> 3.

这是正确的方法吗?你有更好的想法吗?

java spring jsf-2

4
推荐指数
1
解决办法
1711
查看次数

JSF 2.0通过EL检查组件是否在复合组件内部有效

在我的JSF复合组件中有一个示例要实现:

<h:inputText id="name" value="#{cc.attrs.value.name}" styleClass="#{(component.valid) ? 'required' : 'required invalid'}" validatorMessage="bad name" requiredMessage="name required" immediate="true" required="true">
    <f:validateRegex pattern="^[\p{L}' ]{2,19}$" />
    <f:ajax event="blur" execute="name" render="name testPanel" immediate="true"/>
</h:inputText>

<h:inputText id="surname" value="#{cc.attrs.value.surname}" styleClass="#{(component.valid) ? 'required' : 'required invalid'}" validatorMessage="bad surname" requiredMessage="surname required" immediate="true" required="true">
    <f:validateRegex pattern="^[\p{L}' ]{2,19}$" />
    <f:ajax event="blur" execute="name" render="surname testPanel" immediate="true"/>
</h:inputText>

<h:panelGroup id="testPanel" styleClass="#{(!name.valid || !surname.valid) ? 'warning' : 'none'}">
    <h:message id="msgName" for="name" showSummary="true" showDetail="false" />
    <h:message id="msgSurname" for="surname" showSummary="true" showDetail="false" />
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

问题是如何在“ testPanel”上评估名称或姓氏是否有效/无效。我希望消息“ msgName”和“ msgSurname”都用样式化的跨度(HTML输出)包装,如果没有“名称”或“姓氏”的错误消息,则不会出现。

任何帮助表示赞赏:)

java jsf-2

3
推荐指数
1
解决办法
2803
查看次数

JSF 2如何根据浏览器版本设置html样式

我想在我的JSF 2应用程序中做的是根据浏览器版本设置正确的html样式,这里是示例代码:

<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

如何在JSF 2中做到这一点?什么是最好/最简单的方法?

我在Omnifaces(o:conditionalComment)中发现了一些有趣的东西,但它只允许有条件地加载整个css,这对我来说是无用的......

html jsf conditional-comments jsf-2 omnifaces

1
推荐指数
1
解决办法
3920
查看次数

标签 统计

jsf-2 ×3

java ×2

conditional-comments ×1

html ×1

jsf ×1

omnifaces ×1

spring ×1