非常简单:
<a4j:commandButton id="bob"
action="#{MyBacking.doAction}"
image="/img/btn.png"
reRender="stuff"
oncomplete="#{not empty MyBacking.myCondition ? #{rich:component('myModelPanel')}.show()" : <do nothing>}"
ajaxSingle="true">
</a4j:commandButton>
Run Code Online (Sandbox Code Playgroud)
多数民众赞成显然无效EL.什么是我以这种方式有条件地显示myModelPanel的最简洁的方法?
谢谢IA
我在本地目录中的 test.py 旁边有一个名为 hello.txt 的文件,其中包含以下 Python 3.4 代码:
import easywebdav
webdav = easywebdav.connect('192.168.1.6', username='myUser', password='myPasswd', protocol='http', port=80)
srcDir = "myDir"
webdav.mkdir(srcDir)
webdav.upload("hello.txt", srcDir)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了这个:
Traceback (most recent call last):
File "./test.py", line 196, in <module>
webdav.upload("hello.txt", srcDir)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/easywebdav/client.py", line 153, in upload
if isinstance(local_path_or_fileobj, basestring):
NameError: name 'basestring' is not defined
Run Code Online (Sandbox Code Playgroud)
谷歌搜索这会导致几个点击,所有这些都指向相同的修复,以防路径将来移动,包括“导入类型之后”:
try:
unicode = unicode
except NameError:
# 'unicode' is undefined, must be Python 3
str = str
unicode = str
bytes = bytes
basestring = …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种在JSF页面中嵌入和调用javascript函数的方法.我也在使用RichFaces.
要定义该功能,似乎我可以跨浏览器支持的方式执行此操作:
<a4j:outputPanel ajaxRendered="true">
<f:verbatim>
<script type="text/javascript">
function datum() {
alert("hi");
}
</script>
</f:verbatim>
</a4j:outputPanel>
Run Code Online (Sandbox Code Playgroud)
但我不确定如何在页面加载时调用此函数,以便返回的文本嵌入到h:outputPanel.计划是在页面中嵌入一个js时钟,然后提供给客户端.注意我没有使用body标签,我正在使用facelets ui:composition,f:view(core)和RF RI rich:page.
谢谢
我有一个a4j:commandButton看起来像这样的
<a4j:commandButton id="stopBtn" type="button" reRender="lastOp"
action="#{MyBacking.stop}" value="Stop" />
</a4j:commandButton>
Run Code Online (Sandbox Code Playgroud)
部署应用程序并单击按钮时,不会调用stop()方法.所有a4j:commandButton示例都引用表单,但此按钮不在表单中 - 它是用户将用于使服务器运行某些后端逻辑的按钮.目前,方法是
public void stopNode() {
logger.info("STOPPING");
setLastOp("Stopped.");
}
Run Code Online (Sandbox Code Playgroud)
不使用这种类型按钮的其他方法是更新lastOp字段,但我没有在控制台上看到任何这个.我是否正确将其作为按钮投射?我应该把它放在h:form标签里吗?
firebug控制台说:
this._form is null
Run Code Online (Sandbox Code Playgroud)
我不明白.
任何帮助很好的赞赏.
我把它包含在我的index.jsp JSF文件中:
<%@ taglib prefix="ui" uri="http://java.sun.com/jsf/facelets"%>
Run Code Online (Sandbox Code Playgroud)
和Eclipse强调URL,悬停给出:
Cannot find the tag library descriptor for "http://java.sun.com/jsf/facelets"
Run Code Online (Sandbox Code Playgroud)
部署并尝试使用Tomcat插件启动Tomcat 6会导致:
|STDOUT| 2010-03-03 17:57:29,872 | INFO | [main]: Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
|STDOUT| 2010-03-03 17:57:29,904 | INFO | [main]: ServletContext 'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\myapp\' initialized.
|STDOUT| 2010-03-03 17:57:29,904 | INFO | [main]: Checking for plugins:org.apache.myfaces.FACES_INIT_PLUGINS
03-Mar-2010 17:57:29 org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
03-Mar-2010 17:57:29 org.apache.catalina.core.StandardContext start
SEVERE: Context [/myapp] startup failed due to previous errors
Run Code Online (Sandbox Code Playgroud)
...
03-Mar-2010 17:57:30 com.sun.faces.config.ConfigureListener contextDestroyed
SEVERE: Unexpected …Run Code Online (Sandbox Code Playgroud) 我有一个从Eclipse Ganymede通过Tomcat 6部署的JSF应用程序.后者提出了JSP 2.0.我正在使用Sun RI JSF实现和RichFaces 3.3.2SR1.
我的index.jsp文件根据浏览器的请求导致控制台出现此错误:
05-Mar-2010 12:04:41 org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /index.jsp(35,41) #{..} is not allowed in template text
...
好的,我已经看过关于这个主题的各种其他帖子,包括各种jar/taglibs/syntaxes等版本的不兼容性.
使用http://localhost:8989/myapp/index.jsf (或.jsp - 给出相同的错误)调用index.jsp ,并包含
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
Run Code Online (Sandbox Code Playgroud)
这应该是正常的,因为我正在使用的Mojarra 2.0.2FCS中有facelets.我似乎必须使用上面的语法而不是例如.<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>正如facelets URI导致Eclipse所说Cannot find the tag library descriptor for "http://java.sun.com/jsf/facelets".
我的问题与我列出这些标签的方式有关吗?
我的Ant构建文件引用了这些Tomcat jar:
<fileset dir="${cliTomcatlib}">
<include name="servlet-api.jar" />
<include name="jsp-api.jar" />
</fileset>
Run Code Online (Sandbox Code Playgroud)
所以我很难理解如何绕过这个错误.感觉这将是一个简单的修复,但因为我使用的最新jar应该与JSP 2.0兼容,我想知道为什么我会收到此错误.JSF
编辑
在回答BalusC的智慧,我纠正两个引用外部JSP文件并重新命名为所有.jsp来.xhtml.我记得还要更新我的 …
从eclipse构建我的Web应用程序时,我使用了ant来部署到Tomcat 6,servlet-api.jar并el-api.jar在Tomcat 6发行树中进行引用,而不是将其拉入部署的库文件夹中。
我正在尝试部署到Glassfish v3。我已经从www.java2s.com网站上提取了这些罐子。
jsf ×4
richfaces ×3
java ×2
eclipse ×1
facelets ×1
glassfish ×1
javascript ×1
jsp ×1
modal-dialog ×1
myfaces ×1
python-3.4 ×1
servlets ×1
tomcat ×1
tomcat6 ×1