我在primefaces中有一个数据表,我想,当我在其中添加一行时,查看数据表的最后一页.
我的.xhtml页面是:
<h:form id=...>
...
<p:dataTable var="webTemplate" id="templateTable" widgetVar="tbl1"/>
...
</h:form>
<h:form id=...>
...
<p:inputText id="txt_description" value="#{templateController.templateDescription}" label="templateDescription">
<f:validateLength for="txt_name" minimum="1"/>
<p:ajax event="change"
listener="#{calculatePageTable.setPageTableTemplate}" onsuccess="setTabIndexTT()"/>
</p:inputText>
...
</h:form>
<script type="text/javascript">
function setTabIndexTT(){
tbl1.getPaginator().setPage(#{calculatePageTable.pageTableTemplate});
}
</script>
Run Code Online (Sandbox Code Playgroud)
豆:
@ManagedBean
@SessionScoped
public class CalculatePageTable {
private int pageTableTemplate = 0;
private int pageTableField = 0;
public void setPageTableTemplate() {
final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
.findComponent("form:templateTable");
pageTableTemplate = d.getPageCount() - 1;
}
public int getPageTableTemplate() {
return pageTableTemplate;
}
public void setPageTemplateField() { …Run Code Online (Sandbox Code Playgroud) 在我的Web应用程序中,我想以对话框正好出现在我的网页中间的方式修复primefaces对话框的高度和宽度,如果想要最小化窗口,那么对话框也应该最小化.我的意思是我的一个框架中间不是整个窗口.
即动态大小的对话框,如%width和height
谢谢你的帮助...
使用托管bean中的适当值正确生成页面,但这两个h:selectOneMenus中的ajax事件不起作用.听众没有被叫.错误必须在标签内的某处,但我没有看到它.
<f:view>
<h:form>
<h:messages />
<h:panelGrid columns="3">
<h:outputLabel value="Choose your faculty: *" for="faculties" />
<h:selectOneMenu id="faculties" value="#{registrateStudent.selectedFaculty}" >
<f:ajax event="change" listener="#{registrateStudent.genSpecializations}" execute="faculties" render="specializations" />
<f:selectItems value="#{registrateStudent.listFaculty}" var="curFac" itemLabel="#{curFac.name}" itemValue="#{curFac}" />
</h:selectOneMenu>
<h:message id="message_faculties" for="faculties" />
<h:outputLabel value="Choose your specialization: *" for="specializations" />
<h:selectOneMenu id="specializations" value="#{registrateStudent.selectedSpecialization}" >
<f:selectItems value="#{registrateStudent.listSpecialization}" var="curSpec" itemLabel="#{curSpec.name}" itemValue="#{curSpec}"/>
</h:selectOneMenu>
<h:message id="message_specializations" for="specializations" />
Run Code Online (Sandbox Code Playgroud)
托管Bean:
@ManagedBean(name = "registrateStudent")
@ViewScoped
public class RegistrateStudent {
private Faculty selectedFaculty;
private List<Faculty> listFaculty;
private Specialization selectedSpecialization;
private List<Specialization> listSpecialization;
private boolean showSpecialization …Run Code Online (Sandbox Code Playgroud) 我认为它在文档中是可能的,但似乎无法找到实现它的方法.
如果您想使用日志组件显示日志,也可以通过全局PrimeFaces对象使用Log API.
将Log4J绑定到 <p:log id="log" />
我正在使用Primefaces 6.2.
我的问题是当我使用dropDown=true和使用autoComplete scrollHeight.单击滚动条后窗口关闭.当我在我的鼠标上使用滚轮时,它工作正常.
<p:autoComplete id="agendaSelect" scrollHeight="100" completeMethod="#{agendaAutoCompleteView.completeAgenda}" dropdown="true" itemValue="#{agenda}" var="agenda" itemLabel="#{agenda.displayName}" forceSelection="true" value="#{agendaAutoCompleteView.agenda}" converter="agendaConverter" required="true" requiredMessage="Pole Agenda musi byt vyplnene.">
<p:ajax event="itemSelect" update="bunkaSelect" listener="#{bunkaAutoCompleteView.bunkaListener}" />
</p:autoComplete>
Run Code Online (Sandbox Code Playgroud) 假设以下应用程序格局:
+-----------------+
| App server |
+-----------------+
| | +-------+
| ear1 | | |
| +-web1 (/ctx1) +--<-- http://localhost/ctx1/xxx/ --+ +--<-- http://www.example.com/xxx/
| | | |
| | | proxy |
| ear2 | | |
| +-web2 (/ctx2) +--<-- http://localhost/ctx2/yyy/ --+ +--<-- http://abc.example.com/yyy/
| | | |
+-----------------+ +-------+
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,代理(nginx在我的情况下)是将请求转发到单个应用程序服务器实例,而后者又有多个具有不同上下文路径的Web模块.当然我不希望我的公共服务器暴露内部上下文根和代理它的工作做得好,包装和解包http请求等.但仍然有一个大问题:JSF生成的HTML代码(链接,css,js资源,表单动作)包含上下文路径,/ctx1并/ctx2在我的情况.这就是我想要避免的.
除了使用越来越多不同的应用服务器实例(域)之外,我现在没有解决方案,导致我的硬件资源逐渐消失.据我了解,我需要扩展我的JSF应用程序与一些可能已注册的包装器faces-config.xml,这将删除生成的html中的上下文前缀.还欢迎任何其他解决方案.
请指出我正确的方向.
我正在使用PrimeFaces v.5和这个版本发布一个新组件ColumnToggler,当渲染视图时,刷新所有复选框都被检查为默认操作.
我需要做的是;
p:columnToggler记得检查,未经检查的选项时,刷新操作发生在p:dataTable我已将我的应用程序从JSF 1.2迁移到2.2.
它在java.sun.com域 上使用XML命名空间xmlns:f="http://java.sun.com/jsf/core".但是,Oracle的Java EE 7教程正在使用xmlns.jcp.org域名
上的XML命名空间xmlns:f="http://xmlns.jcp.org/jsf/core".
推荐哪一个,为什么会改变?
(使用Chrome 44测试)
期望的行为:发出XHR请求,将结果放入文本区域,选择文本,然后复制到剪贴板.
实际行为:成功的XHR请求后,将结果放入文本区域并选择它,但无法将结果复制到剪贴板.但是,如果我在XHR回调之外启动副本,它就可以工作.
示例html页面:
var selectAndCopy = function() {
// Select text
var cutTextarea = document.querySelector('#textarea');
cutTextarea.select();
// Execute copy
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Cutting text command was ' + msg);
};
var fetchCopyButton = document.querySelector('#fetch_copy');
fetchCopyButton.addEventListener('click', function(event) {
var xhr = new XMLHttpRequest();
xhr.open('get', 'http://httpbin.org/ip');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// Set text
var textarea = document.querySelector('#textarea');
textarea.value = …Run Code Online (Sandbox Code Playgroud)我ManyToMany之间有关系WorkDay(有注释ManyToMany)和Event
WorkDay实体
@Entity
@Table(name = "WORK_DAY", uniqueConstraints = { @UniqueConstraint(columnNames = { "WORKER_ID", "DAY_ID" }) })
@NamedQueries({
@NamedQuery(name = WorkDay.GET_WORK_DAYS_BY_MONTH, query = "select wt from WorkDay wt where wt.worker = :worker and to_char(wt.day.day, 'yyyyMM') = :month) order by wt.day"),
@NamedQuery(name = WorkDay.GET_WORK_DAY, query = "select wt from WorkDay wt where wt.worker = :worker and wt.day = :day") })
public class WorkDay extends SuperClass {
private static final long serialVersionUID = 1L;
public static final String …Run Code Online (Sandbox Code Playgroud) jsf ×6
primefaces ×5
jsf-2 ×3
ajax ×2
copy ×1
datatable ×1
dialog ×1
execcommand ×1
facelets ×1
hibernate ×1
html ×1
java ×1
java-ee-7 ×1
javascript ×1
jpa-2.1 ×1
jsf-2.2 ×1
log4j ×1
oracle ×1
prettyfaces ×1