是否可以从backingbean向JSF组件(RichFaces、PrimeFaces)添加iframe?
我需要在主页中嵌入外部网页。用户需要设置这个url。我不能使用jQuery。
我找不到任何与iframe等效的JSF组件。这有什么特别的原因吗?
只需使用纯HTML即可。
<iframe src="#{bean.iframeUrl}"></iframe>
组件不存在的最可能的原因是,将其封装在JSF组件中时没有额外的优势。例如,<p>
、<br>
、<hr>
等也没有JSF等价物。
可能。我们可以在xhtml文件中使用纯HTML。我试过了,效果很好。下面我给出了我的代码。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<f:view locale="#{facesContext.externalContext.requestLocale}">
<h:head>
<title>
<h:outputText value="your application title"></h:outputText>
</title>
<style type="text/css">
#imagepgframe {
width: 100%;
height: 100%;
position: absolute;
}
#wrap {
width: 100%;
position: absolute;
top: 0px;
left: 0;
bottom: 0;
overflow-y: hidden;
overflow-x: hidden;
}
</style>
</h:head>
<h:body>
<h:form>
<div id="wrap">
<iframe id="imagepgframe" name="imagepgframe" frameborder="0" scrolling="auto" src="#{bean.iframeUrl}">
<p>Your browser does not support iframes.</p>
</iframe>
</div>
</h:form>
</h:body>
谢谢。
您可以使用hsk:panelFrame添加iframe navection,这是一个简单的示例,当case navection正常并且组件具有target属性时,此case navection-toViewId显示在iframe中(进入panelFrame),直到iframe页面navection为parentViewId,此iframe关闭并返回到父页面
来源https://github.com/yracnet/hiska-HskFrame/
自述https://github.com/yracnet/hiska-HskFrame/blob/master/README.md
这个带有css的示例可以显示iframe如何弹出样式。