如何在jsf中设置对话框的自定义大小?

时间:2014-02-26 07:49:44

标签: jsf-2 primefaces

我是jsf的新手。我有两个xhtml页面:test.xhtml和exciseDetails.xhtml。当我在test.xhtml页面上单击“ExciseDetails”按钮时,它将使用primefaces的对话框框架打开exciseDetails.xhtml作为对话框。

我已经完成了这项工作,但是当对话框打开时,并不会显示所有组件。要查看它们,我必须使用该对话框中的滚动..

如何最大化对话框? exciseDetails.xhtml页面的所有组件都应该是可见的而不滚动..

下面是beanclass

package com.madhu.tests.pagecode;
import javax.faces.bean.ManagedBean;
import org.primefaces.context.RequestContext;
import com.madhu.tests.bean.Excisebean;

@ManagedBean(name="pc_excisePageCode")
public class ExcisePageCode {

    Excisebean excisebean=new Excisebean();
    public ExcisePageCode() {
    // TODO Auto-generated constructor stub
    }

    public void exciseDialog() {  
        RequestContext.getCurrentInstance().openDialog("exciseDetails");  
    }  

    public Excisebean getExcisebean() {
        return excisebean;
    }
    public void setExcisebean(Excisebean excisebean) {
        this.excisebean = excisebean;
    }
}

exciseDetails.xhtml:

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

<h:head>

</h:head>


    <h:body>
<h:form>

        <p:panelGrid>

            <p:row>
                <p:column >
                    <p:outputLabel for="regtype" value="Registration Type"
                        style="display: block;"></p:outputLabel>
                </p:column>
                <p:column>
                    <h:selectOneMenu id="regtype"
                        value="#{pc_excisePageCode.excisebean.regtype}"
                        style="width:200px;">
                        <f:selectItem itemLabel="--Select--" itemValue="#{null}" />
                        <f:selectItem itemLabel="Dealer" itemValue="Dealer" />
                        <f:selectItem itemLabel="Manufacturer" itemValue="Manufacturer" />
                    </h:selectOneMenu>
                </p:column>
            </p:row>

            <p:row>
                <p:column>
                    <p:outputLabel for="eregno" value="Excise Registration (ECC) No."
                        style="display: block; " />
                </p:column>
                <p:column>
                    <p:inputText id="eregno"></p:inputText>
                </p:column>
            </p:row>

            <p:row>
                <p:column>
                    <p:outputLabel for="eregdate" value="Registration Date"
                        style="display: block;" />
                </p:column>
                <p:column>
                    <p:inputMask id="eregdate" mask="99-99-9999" />
                </p:column>
            </p:row>

            <p:row>
                <p:column colspan="2">

                    <p:panelGrid>

                        <p:row>
                            <p:column>

                            </p:column>
                            <p:column style="width:150px;display:block; text-align:center">
                                <p:outputLabel value="Code"></p:outputLabel>
                            </p:column>

                            <p:column style="width:150px;display:block; text-align:center">
                                <p:outputLabel value="Name"></p:outputLabel>
                            </p:column>

                            <p:column style="width:150px;display:block; text-align:center">
                                <p:outputLabel value="Address"></p:outputLabel>
                            </p:column>

                        </p:row>

                        <p:row>
                            <p:column>
                                <p:outputLabel value="Range" />
                            </p:column>
                            <p:column>
                                <p:inputText id="rangecode"></p:inputText>
                            </p:column>
                            <p:column>
                                <p:inputText id="rangename"></p:inputText>
                            </p:column>
                            <p:column>
                                <p:inputText id="rangeaddress"></p:inputText>
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column>
                                <p:outputLabel value="Division " />
                            </p:column>
                            <p:column>
                                <p:inputText id="divisioncode"></p:inputText>
                            </p:column>
                            <p:column>
                                <p:inputText id="divisionname"></p:inputText>
                            </p:column>
                            <p:column>
                                <p:inputText id="divisionaddress"></p:inputText>
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column>
                                <p:outputLabel value="Commissionerate" />
                            </p:column>
                            <p:column>
                                <p:inputText id="commissioncode"></p:inputText>
                            </p:column>
                            <p:column>
                                <p:inputText id="commissionname"></p:inputText>
                            </p:column>
                            <p:column>
                                <p:inputText id="commissionaddress"></p:inputText>
                            </p:column>
                        </p:row>

                    </p:panelGrid>

                </p:column>

            </p:row>

        </p:panelGrid>

        </h:form>
       </h:body>
     </html>

test.xhtml:

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

  <h:head>
  </h:head>
  <h:body>
       <h:form id="testform">
         <p:commandButton id="excisebutton" value="Excise Details" 
           actionListener="#{pc_excisePageCode.exciseDialog()}"/>                                               
       </h:form>
  </h:body>
</html>

1 个答案:

答案 0 :(得分:0)

Primefaces对话框有许多其他属性,您可以使用这些属性使对话框处于最大化状态。

以下是一个例子:

<p:dialog header="Dialog" widgetVar="dlg" maximizable="true" minimizable="true">  
    <h:outputText value="This Dialog can be Maximized and Minimized!" />  
</p:dialog>  

否则,如果您了解页面所需的精确度,宽度和高度,还可以使用样式属性,例如style="width:400px;height:300px"

<p:dialog header="Dialog" widgetVar="dlg" maximizable="true" minimizable="false" closable="false" height="768" width="1024" >  
        <h:outputText value="This Dialog can be Maximized and Minimized!" />  
    </p:dialog> 

希望这可以解决您的问题。