GVKun编程网logo

css – JSF Primefaces ConfirmDialog

11

本篇文章给大家谈谈css–JSFPrimefacesConfirmDialog,同时本文还将给你拓展ajax–jsf2.0Primefaces多个Fileupload不记得上传的文件、ajax–Pri

本篇文章给大家谈谈css – JSF Primefaces ConfirmDialog,同时本文还将给你拓展ajax – jsf 2.0 Primefaces多个Fileupload不记得上传的文件、ajax – Primefaces / jsf中的条件更新、angularjs – 带有自定义templateUrl的$mdDialog.confirm()、artDialog4.0.0FullVersion 这个版本关于art.dialog.confirm(content, yesFn, noFn)这个函数等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

css – JSF Primefaces ConfirmDialog

css – JSF Primefaces ConfirmDialog

我正在努力改进/抛光我的primefaces ConfirmDialog但我似乎无法在其上放置一些漂亮的图像或改善它的一些外观.此外,我似乎无法找到一些关于如何使用其属性的文档,我已经下载了primefaces用户手册,但它似乎缺少一些东西.
这是我的代码.

<p:confirmDialog header="Confirm" severity="alert" cloSEOnescape="true" widgetvar="confirmationDialog" showEffect="fold" >
    <f:facet name="message">
          <h:outputText value="Are you sure all details 
                           are correct and proceed in creating the Account?" />        
    </f:facet>
    <p:commandButton value="Yes" actionListener="#{marketingPersonController.create}" 
                     oncomplete="confirmationDialog.hide()" icon="ui-icon-check"
                     update="propertyPanel accountPanel marketingPersonPanel">
         <f:ajax rendered="propertyPanel accountPanel marketingPersonPanel"/>
    </p:commandButton>

    <p:commandButton value="No" onclick="confirmationDialog.hide()" type="button" 
                     icon="ui-icon-close"/>
</p:confirmDialog>

这是一个截图

我似乎无法删除小!图标那里,如果我把严重性没有,它仍然会显示一个奇怪的“^”图像.我想完全改变图标,并以某种方式修改它的一些外观.

此外,我尝试了这个CSS.仍然没有用.

.ui-dialog-content p span { 
            background-image: url('path to image here')
               no-repeat !important;
  }

难道我做错了什么?如果你有一个完整的primefaces文档,这也会有所帮助.谢谢

解决方法

你有两种可能性:

您可以直接替换覆盖Primefaces CSS的图标,如下所示:

CSS

.ui-icon.ui-confirm-dialog-severity {
    background-position: 0 0 !important; 
    background-image: url('PATH TO IMAGE HERE') !important;
}

或者你可以这样做:在触发对话框的组件内:

XHTML

<p:confirm header="HEADER" message="MESSAGE" icon="ui-icon-alert" />

示例:http://www.primefaces.org/showcase/ui/confirmDialog.jsf

CSS

.ui-icon.ui-confirm-dialog-severity.ui-icon-alert {
    background-position: 0 0 !important; 
    background-image: url('PATH TO IMAGE HERE') !important;
}

ajax – jsf 2.0 Primefaces多个Fileupload不记得上传的文件

ajax – jsf 2.0 Primefaces多个Fileupload不记得上传的文件

我已经在这篇文章中解决了一些其他问题(fileuploadhandler正在运行),我的代码如下:

豆:

@ManagedBean
@ViewScoped
public class TempBean implements Serializable{

    private static final long serialVersionUID = -70753689043016662L;
    private List<String> names; //to remember which files have been uploaded

    public void load(){
        System.out.println("@prerender");
    }

    public TempBean() {
        super();
        System.out.println("@constructor");
        names = new ArrayList<String>();
    }

    @postconstruct
    public void pc(){
        System.out.println("@postconstruct");
    }

    public void handleFileUpload(FileUploadEvent event) { 
        String filename = event.getFile().getFileName();
        System.out.println("INCOMING FILE: " + filename);
        names.add(filename);

        if(!names.isEmpty()){
            System.out.println("Files uploaded:");
            for(String n : names){
                System.out.println("# " + n);
            }
            System.out.println();
        }
   }  

    public List<String> getNames() {
        return names; 
    }

    public void setNames(List<String> names) {
        this.names = names;
    }

}

XHTML页面:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.org/ui" >

    <h:head> 
        <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </h:head>

    <f:event type="preRenderView" listener="#{tempBean.load}" />
    <h:body>

        <h:form>
            <p:fileUpload
                fileUploadListener="#{tempBean.handleFileUpload}"
                mode="advanced" dragDropSupport="true" multiple="true" update=":overview" />
        </h:form>

        <h:panelGroup id="overview">
            <ui:repeat var="file" value="#{tempBean.names}">
                #{file} <br/>
            </ui:repeat>
        </h:panelGroup>

    </h:body>
</html>

我现在面临的问题(或者我打开一个新问题的原因)是,当我上传多个(例如三个)文件时,其中只有一个被附加到空列表中.当我重新上载剩下的两个文件时,再次只将其中一个文件附加到列表中.

有趣的是,为每个文件调用handleFileUpload(…)…

当我同时上传三个文件时,这是我的控制台输出:

@constructor
@postconstruct
@prerender
INCOMING FILE: test1.jpe
INCOMING FILE: test3.jpe
Files uploaded:
INCOMING FILE: test2.jpe
# test3.jpe
-END OF LIST-
Files uploaded:
# test1.jpe
Files uploaded:
# test2.jpe
-END OF LIST-
-END OF LIST-
@prerender
@prerender
@prerender

我该怎么做才能使fileupload-component正常运行?这是一个bug还是一个ajax问题?

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
id="WebApp_ID" version="3.0" >

  <display-name>TestProjekt</display-name>
  <welcome-file-list>
    <welcome-file>test.xhtml</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <servlet-mapping> 
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>resources.application</param-value>
    </context-param>
    <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
    </context-param>
    <context-param>
        <param-name>facelets.SKIP_COMMENTS</param-name>
        <param-value>true</param-value>
    </context-param>

    <context-param>
        <param-name>primefaces.UPLOADER</param-name>
        <param-value>commons</param-value>
    </context-param>

  <context-param>
    <description>
    This parameter tells MyFaces if javascript code should be allowed in
    the rendered HTML output.
    If javascript is allowed,command_link anchors will have javascript code
    that submits the corresponding form.
    If javascript is not allowed,the state saving info and nested parameters
    will be added as url parameters.
    Default is 'true'</description>
    <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
    <param-value>true</param-value>
  </context-param>

      <context-param> 
        <description> 
        If true,rendered HTML code will be formatted,so that it is 'human-readable'
        i.e. additional line separators and whitespace will be written,that do not
        influence the HTML code.
        Default is 'true'</description>
        <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
        <param-value>true</param-value>
      </context-param>

      <context-param>
        <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
        <param-value>false</param-value>
      </context-param>

      <context-param>
        <description>
        If true,a javascript function will be rendered that is able to restore the
        former vertical scroll on every request. Convenient feature if you have pages
        with long lists and you do not want the browser page to always jump to the top
        if you trigger a link or button action that stays on the same page.
        Default is 'false'
        </description>
        <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
        <param-value>true</param-value>
      </context-param>


    <filter> 
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
        <init-param>
            <param-name>uploadDirectory</param-name>
            <param-value>C:\tmp</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>

</web-app>

和我的faces.config:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0"> 

</faces-config>
这是由您的JSF实现MyFaces 2.2.0-20130426中的错误引起的.

当我尝试MyFaces 2.2.0-beta(目前可用于myfaces.apache.org)和Mojarra 2.2.4(目前可用作javaserverfaces.java.net)时,它适用于我.

正如对该问题的评论所证实,它也适用于您.

ajax – Primefaces / jsf中的条件更新

ajax – Primefaces / jsf中的条件更新

首先,所以没有误解,虽然这是与 PrimeFaces: conditional update on validation相同的问题我再次问它,因为这个问题的答案对我来说是不可接受的,因为虽然它可能给原始海报一个解决方法他们在问,它并没有真正回答这个问题,这个解决方法对我不起作用.

所以,这是我的问题:我如何根据submition的结果有条件地更新primefaces组件?

我有一个组件,在任何情况下都不能更新,除非验证成功并且后端代码已成功执行. (即,如果验证成功但后端存在sql异常,则组件仍不应更新).

为什么我不能一直更新它?如果逻辑没有成功,它将被更新为单击提交按钮之前的相同内容.因为我不能.这是验证码组件.如果你通过ajax更新它,它就会消失,故事结束.在Primefaces打开了一张票,他们将其关闭,因为无法修复,因为闪存组件不应该用ajax更新.

因此,当我提交表单时,除非逻辑成功,否则我需要单独保留验证码.如果逻辑成功,我需要确保验证码在屏幕外消失.什么是最简单,最干净的方法?

如果这是一个n00b问题,请原谅.我是Primefaces和JSF的新手.

解决方法

RequestContext.getCurrentInstance().update("clientId")

有助于条件更新.

重新尝试

RequestContext.getCurrentInstance().execute("Recaptcha.destroy()");

angularjs – 带有自定义templateUrl的$mdDialog.confirm()

angularjs – 带有自定义templateUrl的$mdDialog.confirm()

我在我的应用程序中使用$mddialog,但是想将它用作“确认”对话框而不是正常对话框.这意味着,在用户单击确认对话框中的两个按钮之一之前,代码流不应继续.我注意到可以使用$mddialog.confirm(),但我不知道如何将它与自定义templateUrl和相应的控制器一起用作对话框的内容.

以下是我所写的,就对话框而言可以正常工作,但是在打开对话框后代码流不会停止.它应该停止,直到用户点击“确定”或“取消”.

$mddialog.show({
      controller: 'incomingCallDialogController',templateUrl: 'app/components/others/incomingCallDialog/incomingCallDialog.tpl.html',locals: {message: message},parent: angular.element(document.body)
   }).then(function (answer) {
      console.log("here");
   }
基本上它会是这样的:
var confirm = $mddialog.confirm({
      controller: 'incomingCallDialogController',parent: angular.element(document.body)
   })
   $mddialog.show(confirm).then(function() {
      console.log("here");
   }

这是一个codepen.

artDialog4.0.0FullVersion 这个版本关于art.dialog.confirm(content, yesFn, noFn)这个函数

artDialog4.0.0FullVersion 这个版本关于art.dialog.confirm(content, yesFn, noFn)这个函数

@糖饼 你好,想跟你请教个问题:

artDialog4.0.0FullVersion 这个版本关于art.dialog.confirm(content, yesFn, noFn)这个函数的问题.

请问这个函数支持HTML吗?

这个应该怎么使用?如果使用jquery版本的话.

关于css – JSF Primefaces ConfirmDialog的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ajax – jsf 2.0 Primefaces多个Fileupload不记得上传的文件、ajax – Primefaces / jsf中的条件更新、angularjs – 带有自定义templateUrl的$mdDialog.confirm()、artDialog4.0.0FullVersion 这个版本关于art.dialog.confirm(content, yesFn, noFn)这个函数等相关知识的信息别忘了在本站进行查找喔。

本文标签: