假设URL是http:// localhost:8080/project-name/resource.xhtml,
我想 在JSF托管bean中获取以下 http:// localhost:8080/project-name.
如何在JSF页面中调试EL?我想看变量值,函数调用等等.最好的解决方案是eclipse插件,但任何其他可能性都比猜测"为什么这个表达式无法正确呈现?"更好.
@Controller)@Scope("session").Serializable以便在服务器重新启动时可以物理存储它们Serializable,这意味着它所引用的所有服务(其他spring bean)也将被序列化.它们通常是代理,引用了交易管理器,实体管理器工厂等.ApplicationContext通过实现来保持对引用的引用并不是不太可能ApplicationContextAware,因此这可以有效地意味着整个上下文被序列化.并且鉴于它拥有许多连接 - 即不能通过思想序列化的东西,它将在腐败状态下恢复.到目前为止,我大多忽略了这些问题.最近我想到声明我所有的spring依赖项transient并readResolve()通过静态实用程序类将它们重新WebApplicationContextUtils导入,并将请求/ ServletContext保存在ThreadLocal.这很乏味,但它保证了,当反序列化对象时,它的依赖关系将与当前应用程序上下文"保持同步" .
是否有任何公认的做法,或任何序列化春季背景部分的指南.
请注意,在JSF中,托管bean(~controller)是有状态的(与基于动作的Web框架不同).所以也许我的问题更多的是JSF,而不是spring-mvc.
我需要渲染换行符,outputText以便我可以使用rendered属性.我试过了
<h:outputText value="<br/>" escape="false" />
Run Code Online (Sandbox Code Playgroud)
但它产生了异常
The value of attribute "value" associated with an element type "null" must not contain the '<' character.
Run Code Online (Sandbox Code Playgroud) faces-config.xml:
<application>
<locale-config>
<default-locale>ru</default-locale>
<supported-locale>ua</supported-locale>
</locale-config>
</application>
Run Code Online (Sandbox Code Playgroud)
在bean操作方法中,我正在更改当前视图中的语言环境,如下所示:
FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale("ua"));
Run Code Online (Sandbox Code Playgroud)
问题是应用了uaLocale,但仅适用于每个请求/视图而不适用于会话.同一会话中的另一个请求/视图将语言环境重置为默认ru值.
如何应用会话的区域设置?
问题:有时你会想要从javascript访问一个组件
getElementById,但是id是在JSF中动态生成的,所以你需要一个获取对象id的方法.我在下面回答你如何做到这一点.
原始问题: 我想使用下面的代码.如何在我的Javascript中引用inputText JSF组件?
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<head>
<title>Input Name Page</title>
<script type="javascript" >
function myFunc() {
// how can I get the contents of the inputText component below
alert("Your email address is: " + document.getElementById("emailAddress").value);
}
</script>
</head>
<h:body>
<f:view>
<h:form>
Please enter your email address:<br/>
<h:inputText id="emailAddresses" value="#{emailAddresses.emailAddressesStr}"/>
<h:commandButton onclick="myFunc()" action="results" value="Next"/>
</h:form>
</f:view>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
更新:JSF2.0中的这篇帖子客户端标识符讨论了使用如下技术:
<script type="javascript" >
function myFunc() {
alert("Your email address is: " + …Run Code Online (Sandbox Code Playgroud) 我想知道什么是允许用户在selectOneMenu中选择任何内容的最佳或最简单的方法.
我的例子:我有一个注册用户列表,管理员应该能够按一些标准过滤显示的用户列表.这些标准,如usertype(employee,customer,...)可以由selectOneMenus选择,如下所示:
<h:selectOneMenu value="#{myBean.selectedUsertype}" converter="#{usertypeConverter}">
<f:selectItems value={myBean.usertypes}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)
当相应的selectOneMenu由使用转换器的POJO列表支持时,如何将项添加到列表中,表明用户没有选择任何特定项?目前我有一个虚拟的usertype对象显示标签"---",但这在我的应用程序的其他方面引起了几个问题,我不认为这是最好的解决方案.
我正在使用JSF 2.0,我正在寻找一个在性能方面负载最小的copmponent库.如果我在RichFaces和PrimeFaces之间做出选择,哪一个更好用?两者的优点和缺点是什么?
我需要使用JSF <h:graphicimage>标记或HTML <img>标记在Web应用程序中显示驻留在deploy文件夹之外的图像.我怎样才能做到这一点?
我有多种形式,我有必填字段和可选字段.
要提交这样的表单,我需要对要执行的required属性进行验证,这样可以正常工作.要取消这样的形式我使用属性immediate="true"上p:commandbutton,这使得在其作用发生应用请求值 -PHASE如下处理:点击一个特定的按钮时如何跳过验证?
但是,对于大型表单,我想为用户提供一个Save-Button,以便他可以稍后继续.
为了保存当前状态,我还想忽略required-attribute的验证.但是,使用immediate="true"不起作用,因为那时我的save方法简单保存,因为JSF生命周期永远不会命中"UpdateModelValues"-Phase.(根据http://www.javacodegeeks.com/2012/01/jsf-and-immediate-attribute-command.html)
那么,如何绕过所需的检查但不跳过生命周期的一半?
jsf ×10
jsf-2 ×4
java ×2
debugging ×1
eclipse ×1
el ×1
graphicimage ×1
image ×1
javascript ×1
lifecycle ×1
line-breaks ×1
localization ×1
primefaces ×1
richfaces ×1
servlets ×1
session ×1
spring ×1
validation ×1