PrimeFaces commandButton actionListener 未触发

2024-02-12

我无法获取我的actionListener in a <p:commandButton>在对话框内触发。我尝试将其更改为行动,删除(),添加()、更改托管 bean 的范围、移动 ajax 语句,但到目前为止没有任何帮助。一切正常,直到我更新了 Netbeans,一切都崩溃了,不知怎的,一个库被删除了,它是 commons-fileupload jar。

仅在更新了 netbeans 后,代码没有发生任何更改,就发生了这种情况。 Netbeans 7.3、JSF2.2、Tomcat 7、jdk1.7、primefaces 4.0。我的 tomcat 管理器应用程序内部有一个此版本的工作版本,如果我可以检索,希望一切都会恢复正常工作,但我找不到任何有关从 tomcat 取回文件的信息。所以我的问题是,为什么这不发射?这是我在按钮中调用的顺序吗?我无法理解为什么这不起作用。

编辑错误我在切换表单和对话框位置后收到 -

    Jul 10, 2014 11:50:48 AM     com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
    SEVERE: Error Rendering View[/sampleExport.xhtml]
    javax.faces.FacesException: Cannot find component with expression ":searchDialogID" referenced from "mainForm:j_idt22".
    at   org.primefaces.expression.SearchExpressionFacade.resolveComponentInternal(SearchExpressionFacade.java:271)

编辑 3 修订 豆

@ManagedBean
@ViewScoped
public class SampleExportController implements Serializable {


//Variables used to show or hide panels on the webpage
private boolean _addTill = false;
private boolean _allowAddingExport;
private boolean _allowDelExport;
private boolean _allowModExport;
private boolean _allowReading;
private boolean _previousCrop;
private boolean _spreadSelected;
//Variables Used For Whole Form
private ArrayList<Account> _agronomers;

private StreamedContent _file;
private ArrayList<String> _growers;
private SampleSearch _search;
private LabSampleHelper _labHelper;
private ArrayList<AdminLabNumber> _labNumbers;
private NutrientsGuide _nutriGuide;
private SampleAdminHelper _saHelper;
private List<String> _sampleTypes;
private SampleAlter _selectedSample;
private AdminLabNumber _selectedLab;
private QueryHelper _qHelper;
private List<String> _years;

public SampleExportController() {
    AllowedRights awdRight = AllowedRights.getAllowedRights();
    Access rights = awdRight.getAccessRigths("exportSample");
    if (rights != null) {
        _allowAddingExport = rights.getOperationAdd();
        _allowDelExport = rights.getOperationDel();
        _allowModExport = rights.getOperationMod();
        _allowReading = rights.getReadAccess();
    } else {
        _allowAddingExport = false;
        _allowDelExport = false;
        _allowModExport = false;
        _allowReading = false;
    }
    _search = new SampleSearch();
    _saHelper = new SampleAdminHelper();
    _qHelper = new QueryHelper();
    _years = _saHelper.getYears();
    if (_years != null && !_years.isEmpty()) {
        _search.setYear(_years.get(0));
    }
    _sampleTypes = _saHelper.getSampleTypes();
    _labHelper = new LabSampleHelper();
}




public void initSearch() {
    AccountHelper acHelper = new AccountHelper();
    _agronomers = acHelper.getAllAgronomers();
    SampleAdminHelper saHelper = new SampleAdminHelper();
    _growers = saHelper.getAllGrowers();
}

public void loadSearch() {
    UIComponent table = FacesContext.getCurrentInstance().getViewRoot().findComponent(":mainForm:DTsamples");
    table.setValueExpression("sortBy", null);
    _search.setStage("Completed");
    _labNumbers = _saHelper.exportSampleSearch(_search);
    ExportFormatHelper efHelper = new ExportFormatHelper();
    for (int i = 0; i < _labNumbers.size(); i++) {
        _labNumbers.get(i).addExportSettings(efHelper.getFormats(_labNumbers.get(i).getAccountNumber(), _labNumbers.get(i).getSampleType()));
    }
    //loadExportSettings from account
    _agronomers.clear();
    _growers.clear();
}



/**
 * @return the _search
 */
public SampleSearch getSearch() {
    return _search;
}

/**
 * @return the _labNumbers
 */
public ArrayList<AdminLabNumber> getLabNumbers() {
    return _labNumbers;
}

/**
 * @return the _agronomers
 */
public ArrayList<Account> getAgronomers() {
    return _agronomers;
}

/**
 * @return the _growers
 */
public ArrayList<String> getGrowers() {
    return _growers;
}

/**
 * @return the _selectedSample
 */
public SampleAlter getSelectedSample() {
    return _selectedSample;
}

/**
 * @param selectedSample the _selectedSample to set
 */
public void setSelectedSample(SampleAlter selectedSample) {
    this._selectedSample = selectedSample;
    //This gets the value of the initial till level from the sample
    _initialTill = _selectedSample.getTilled();
    _initialPreviousCrop = _selectedSample.getPreviousCrop();
    if (selectedSample.getSampleType().equalsIgnoreCase("Soil")) {

        if (_crop1 == null | _crop2 == null || _crop3 == null) {
            _crop1 = new CropGuide(_qHelper, _selectedSample);
            _crop2 = new CropGuide(_qHelper, _selectedSample);

            _crop3 = new CropGuide(_qHelper, _selectedSample);
        }
        _nutriGuide = new NutrientsGuide(_crop1.getRec(),_selectedSample);
        boolean flag1, flag2, flag3;
        flag1 = _crop1.refresh();
        flag2 = _crop2.refresh();
        flag3 = _crop3.refresh();
        if (flag1 || flag2 || flag3) {
            RequestContext.getCurrentInstance().update("nutrientguides");
        }
    }
}

/**
 * @return the _file
 */
public StreamedContent getFile() {
    return _file;
}


/**
 * @return the _selectedLab
 */
public AdminLabNumber getSelectedLab() {
    return _selectedLab;
}

/**
 * @param selectedLab the _selectedLab to set
 */
public void setSelectedLab(AdminLabNumber selectedLab) {
    this._selectedLab = selectedLab;
}


/**
 * @return the _years
 */
public List<String> getYears() {
    return _years;
}

/**
 * @return the _sampleTypes
 */
public List<String> getSampleTypes() {
    return _sampleTypes;
}


public void setPreviousCrop(boolean _previousCrop) {
    this._previousCrop = _previousCrop;
}

}

xhtml 大部分已满

<!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"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:p="http://primefaces.org/ui">
<h:body>
    <ui:composition template="template/desktop_viewer.xhtml">
        <ui:define name="PageName">
            <title>Sample Export</title> 
        </ui:define>

        <ui:define name="PageHeader">
            Sample Export
        </ui:define>

        <ui:define name="PageLocation">
            Viewer
        </ui:define>  

        <ui:define name="Body" >
            <script type="text/javascript">
                function start() {
                    statusDialog.show();
                }

                function stop() {
                    statusDialog.hide();
                }
            </script> 
            <h:form id="mainForm" rendered="#{sampleExportController.allowReading eq true}">
                <p:dialog modal="true" widgetVar="statusDialog" header="Status" resizable="false" draggable="false" closable="false" appendToBody="true">
                    <p:graphicImage value="./resources/images/ajaxloading.gif" />
                </p:dialog>

                <p:ajaxStatus style="width:16px;height:16px;" id="ajaxStatusPanel">
                    <f:facet name="start">
                        <h:graphicImage value="./resources/images/ajaxloading.gif" />
                    </f:facet>
                    <f:facet name="complete">
                        <h:outputText value="" />
                    </f:facet>
                </p:ajaxStatus>
                <p:growl id="growl" showDetail="true" autoUpdate="true"/>

                <p:commandButton oncomplete="searchDialog.show()" update=":innerSearch:searchDialogID" value="Search" icon="ui-icon-search" actionListener="#{sampleExportController.initSearch}"/>  
                <p:dataTable id="DTsamples" widgetVar="DTsamplesVw" var="labNumbers" value="#{sampleExportController.labNumbers}" 
                             paginator="true" rows="10" scrollable="true" rowStyleClass="#{labNumbers.rowColorByType}">
                    <p:column style="width:10px">
                        <p:rowToggler />
                    </p:column>
                    <p:column headerText="LabNumber" footerText="LabNumber">
                        #{labNumbers.number} 
                    </p:column>
                    <p:column headerText="Sample Type" footerText="Sample Type">
                        #{labNumbers.sampleType} 
                    </p:column>
                    <p:rowExpansion > 
                        <p:panelGrid style="width: 460px;">
                            <f:facet name="header">  
                                <p:row>
                                    <p:column colspan="1" style="width: 320px">
                                        Submitter
                                    </p:column>
                                    <p:column colspan="1" style="width:150px">
                                        Lab Number Report Export  
                                    </p:column>
                                    <p:column colspan="1" style="width: 280px">
                                        Lab Number CSV Export 
                                    </p:column>
                                </p:row>
                            </f:facet>  
                            <p:row>
                                <p:column>
                                    <h:panelGrid columns="1" styleClass="Ignore" >                                           
                                        <h:outputText value=" #{''.concat(labNumbers.getSamples().get(0).agronomer.accountNumber).concat(' - ').concat(labNumbers.getSamples().get(0).agronomer.lastName ).concat(' , ').concat(labNumbers.getSamples().get(0).agronomer.firstName)}"/>

                                        <h:outputText value=" #{'Email: '.concat(labNumbers.getSamples().get(0).agronomer.primaryEmail)}"/>
                                        <h:outputText value=" #{'Email 2: '.concat(labNumbers.getSamples().get(0).agronomer.email2)}"/>
                                        <h:outputText value=" #{'Email 3: '.concat(labNumbers.getSamples().get(0).agronomer.email3)}"/>
                                    </h:panelGrid>
                                </p:column>
                                <p:column style="text-align: center;">

                                    <h:panelGrid styleClass="Ignore">

                                        <p:commandLink ajax="false" id="AlternativeValues" onclick="PrimeFaces.monitorDownload(start, stop)" actionListener="#{sampleExportController.generateAlternativeValueReport(labNumbers,false)}">
                                            <p:fileDownload value ="#{sampleExportController.file}" />
                                        </p:commandLink>

                                        <p:commandLink ajax="false" id="multiPdf" onclick="PrimeFaces.monitorDownload(start, stop)" actionListener="#{sampleExportController.generateMultiSampleReportPDFLab(labNumbers,false)}">  
                                                 <p:fileDownload value="#{sampleExportController.file}" />  
                                            <p:graphicImage value="./resources/images/pdf.png" alt="Download the report by lab Number as a PDF." title="Normal Report"/>  
                                        </p:commandLink> 

                                        <p:commandLink ajax="false" id="multiPdfPage" onclick="PrimeFaces.monitorDownload(start, stop)" actionListener="#{sampleExportController.generateMultiSampleReportPDFLab(labNumbers,true)}" rendered="#{labNumbers.sampleType eq 'Manure'}">  
                                            <p:fileDownload value="#{sampleExportController.file}" />  
                                            <p:graphicImage value="./resources/images/pdf_multi.jpg" alt="Download the report by lab Number as a PDF." title="Sample Per Page Report"/>  
                                        </p:commandLink> 
                                    </h:panelGrid>
                                </p:column>

                                <p:column>
                                    <p:outputLabel for="exportsetting" value="Export Setting:"/>

                                    <p:selectOneMenu id="exportsetting" value="#{labNumbers.selectedExport}" effect="fade" style="width:160px">
                                        <f:selectItem itemLabel="Select One" itemValue="" />
                                        <f:selectItems value="#{labNumbers.exportSettings}" var="export" itemLabel="#{export}" itemValue="#{export}" />
                                        <p:ajax update=":mainForm:DTsamples:downloadLink" event="change" listener="#{sampleExportController.setSelectedLab(labNumbers)}"/> 
                                    </p:selectOneMenu>

                                    <p:commandLink id="downloadLink" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)"   
                                                   disabled="#{empty labNumbers.selectedExport}" actionListener="#{sampleExportController.generateSpreadSheet()}">                                 
                                        <p:graphicImage value="./resources/images/csv.png" alt="Download the report by lab Number as a CSV."/>  
                                        <p:fileDownload value="#{sampleExportController.file}"/>
                                    </p:commandLink>
                                </p:column>
                            </p:row>
                        </p:panelGrid>

                        <p:dataTable id="nested" var="sampleheader" value="#{labNumbers.samples}" scrollable="true"
                                     rowStyleClass="#{sampleheader.rowColorByType}" scrollHeight="150">
                            <p:column headerText="Container ID">  
                                #{sampleheader.containerID}

                            </p:column>
                            <p:column headerText="Sample ID">  
                                #{sampleheader.sampleID}
                            </p:column>
                            <p:column headerText="Field ID">  
                                #{sampleheader.fieldID}
                            </p:column> 
                            <p:column headerText="Grower">  
                                #{sampleheader.grower}
                            </p:column>  
                            <p:column headerText="Sample Type">  
                                #{sampleheader.sampleType}
                            </p:column>
                            <p:column headerText="Notes">  
                                #{sampleheader.note}
                            </p:column>
                            <p:column headerText="View Sample" style="width:8%">                            
                                <p:commandButton update=":viewerID" oncomplete="viewerDialog.show()" process="@this" styleClass="compress" icon="ui-icon-newwin">  
                                    <f:setPropertyActionListener value="#{sampleheader}" target="#{sampleExportController.selectedSample}" />  
                                </p:commandButton>  
                            </p:column>
                        </p:dataTable>
                    </p:rowExpansion>                       
                </p:dataTable> 
            </h:form>            
            <h:outputText value="Nice Try" rendered="#{sampleExportController.allowReading eq false}"/>
            <h:form id="innerSearch"><p:dialog id="searchDialogID" widgetVar="searchDialog" header="Sample search" resizable="false" draggable="false" showEffect="puff"
                      hideEffect="puff" appendToBody="false" modal="true" rendered="#{sampleExportController.allowReading eq true}">

                    <h:panelGrid columns="4">
                        <h:outputText value="Starting Lab Number:"/>
                        <p:inputText value="#{sampleExportController.search.labnumberStart}" maxlength="20"/>
                        <h:outputText value="Ending Lab Number:"/>
                        <p:inputText value="#{sampleExportController.search.labnumberEnd}" maxlength="20"/>
                        <h:outputText value="Starting Container ID:"/>
                        <p:inputText value="#{sampleExportController.search.containerIDStart}" maxlength="11"/>
                        <h:outputText value="Ending Container ID:"/>
                        <p:inputText value="#{sampleExportController.search.containerIDEnd}" maxlength="11"/>
                        <h:outputText value="Season:"/>
                        <p:selectOneMenu  value="#{sampleExportController.search.year}"  
                                          panelStyle="width:150px" effect="fade" var="p" style="width:160px"  
                                          filter="true" filterMatchMode="contains">  
                            <f:selectItem itemLabel="Select One" itemValue="" />  
                            <f:selectItems value="#{sampleExportController.years}" var="year" itemLabel="#{year}" itemValue="#{year}"/>                              
                        </p:selectOneMenu>
                    </h:panelGrid>
                    <h:panelGrid columns="2">
                        <p:outputLabel for="acAg" value="Agronomist -- You may now search by any value"/>
                        <p:selectOneMenu id="acAg" value="#{sampleExportController.search.agronomist}" converter="agronomerSampleExportConverter" 
                                         panelStyle="width:170px" effect="fade" var="p" style="width:160px"  
                                         filter="true" filterMatchMode="contains" >  
                            <f:selectItem itemLabel="Select One" itemValue="" />  
                            <f:selectItems value="#{sampleExportController.agronomers}" var="agronomer" itemLabel="#{agronomer.lastName} #{agronomer.company} #{agronomer.firstName} #{agronomer.accountNumber}" itemValue="#{agronomer}"/>  
                            <p:column >
                                Base Ac. #: #{p.account.accountNumber}<br/>
                                Company Name: #{p.company}<br/>First Name:#{p.firstName}<br/><strong>Last Name:#{p.lastName}</strong>
                            </p:column>
                        </p:selectOneMenu> 

                        <h:outputText value="Sample Type:"/>
                        <p:selectOneMenu id="sampleType" value="#{sampleExportController.search.sampleType}" effect="fade" >
                            <f:selectItem itemLabel="Select One" itemValue="" />
                            <f:selectItems value="#{sampleExportController.sampleTypes}" var="stype" itemLabel="#{stype}" itemValue="#{stype}"/>
                        </p:selectOneMenu>

                        <p:outputLabel for="acGro" value="Grower"/>
                        <p:selectOneMenu id="acGro" value="#{sampleExportController.search.grower}"  
                                         panelStyle="width:150px" effect="fade" var="p" style="width:160px"  
                                         filter="true" filterMatchMode="contains" >  
                            <f:selectItem itemLabel="Select One" itemValue="" />  
                            <f:selectItems value="#{sampleExportController.growers}" var="grower" itemLabel="#{grower}" itemValue="#{grower}"/>

                        </p:selectOneMenu>

                    </h:panelGrid>
                    <p:commandButton update=":mainForm:DTsamplesVw" process="innerSearch" icon="ui-icon-search" value="Search" actionListener="#{sampleExportController.loadSearch}" oncomplete="searchDialog.hide()"/>

            </p:dialog>
            </h:form>
            <p:dialog id="viewerID" widgetVar="viewerDialog" modal="true" dynamic="true" hideEffect="puff" showEffect="puff"  appendToBody="false"
                      maximizable="true" header="Viewing selected samples" rendered="#{sampleExportController.allowReading eq true}">
                <h:form id="innerView">   
                    <h:panelGrid columns="2" width="100%">
                        <h:panelGrid>
                            <p:panelGrid >
                                <f:facet name="header">  
                                    <p:row>
                                        <p:column colspan="1" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}">
                                            CSV Single Sample Report 
                                        </p:column>
                                        <p:column colspan="1" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}">
                                            Single Sample Report Export  
                                        </p:column>
                                        <p:column colspan="1">
                                            Lab Number Report Export
                                        </p:column>
                                    </p:row>
                                </f:facet>  
                                <p:row>
                                    <p:column style="text-align: center;" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}">
                                        <p:commandLink ajax="false" id="cOnecsv" onclick="PrimeFaces.monitorDownload(start, stop)" actionListener="#{sampleExportController.generateSingleSampleReportCSV}" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}">  
                                            <p:fileDownload value="#{sampleExportController.file}" />  
                                            <p:graphicImage value="./resources/images/csv.png" alt="Download the report by sample as a PDF."/>  
                                        </p:commandLink> 
                                        <p:tooltip for="cOnecsv" value="Download the report by sample as a CSV." showEffect="fade" hideEffect="fade" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}"/> 
                                    </p:column>
                                    <p:column style="text-align: center;" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}">
                                        <p:commandLink ajax="false" id="cOnePdf" onclick="PrimeFaces.monitorDownload(start, stop)" actionListener="#{sampleExportController.generateSingleSampleReportPDF}" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}">  
                                            <p:fileDownload value="#{sampleExportController.file}" />  
                                            <p:graphicImage value="./resources/images/pdf.png" alt="Download the report by sample as a PDF."/>  
                                        </p:commandLink> 
                                        <p:tooltip for="cOnePdf" value="Download the report by sample as a PDF." showEffect="fade" hideEffect="fade" rendered="#{sampleExportController.selectedSample.sampleType eq 'Soil'}"/> 
                                    </p:column>
                                    <p:column style="text-align: center;">
                                        <p:commandLink ajax="false" id="cMultiPdf" onclick="PrimeFaces.monitorDownload(start, stop)" actionListener="#{sampleExportController.generateMultiSampleReportPDF}">  
                                            <p:fileDownload value="#{sampleExportController.file}" />  
                                            <p:graphicImage value="./resources/images/pdf.png" alt="Download the report by lab Number as a PDF."/>  
                                        </p:commandLink> 
                                        <p:tooltip for="cOnePdf" value="Download the report by lab Number as a PDF." showEffect="fade" hideEffect="fade" /> 
                                    </p:column>
                                </p:row>
                            </p:panelGrid>

+ random ending tags

问题出在您的对话框中。有p:commandButton其中包含以下内容:

<p:commandButton update=":mainForm:DTsamplesVw" process="innerSearch" 
    icon="ui-icon-search" value="Search" 
    actionListener="#{sampleExportController.loadSearch}" 
    oncomplete="searchDialog.hide()"/>`

它应该是update=":mainForm:DTsamples"因为您需要引用 id 而不是 widgetVar。祝你今天过得愉快!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PrimeFaces commandButton actionListener 未触发 的相关文章

随机推荐

  • EaselJS 在鼠标悬停时更改颜色

    在笨手笨脚地在 HTML canvas 元素中实现了所有与鼠标和矢量相关的信息后 我切换到了 EaselJS 我已经习惯了 EaselJS 它真的很简洁 我特别喜欢这些容器以及它们使绘制嵌入形状变得多么简单 但是 我不知道你如何实现颜色变化
  • 运行时间较长但易于验证的算法?

    我正在设计一个网站进行实验 会有一个按钮供用户使用must点击并按住一段时间 然后松开 然后客户端向服务器提交AJAX事件 但是 为了防止自动点击机器人和快速垃圾邮件 我希望保持时间非常真实且不可跳过 例如做一些计算 重点是浪费实际的 CP
  • 子组件的 v-model 和子组件 Vue 内部的 v-model

    有没有办法简化这段代码 该按钮还应该更改子级的 localValue Vue component my input template div b My Input b br localValue localValue br div
  • 浮动溢出?

    下面的代码似乎总是产生错误的结果 我已经在 gcc 和 windows Visual Studio 上测试了它 是因为浮动溢出还是其他原因 提前致谢 include
  • c++11 成员函数从 unique_ptr 向量返回原始指针向量

    我开始使用 c 11 功能 并且我喜欢仅使用智能指针来拥有对象 这是我的课程 class MyClass public vector
  • Maven,配置具体目标

    我想配置 maven war plugin 的 爆炸 目标
  • 显示 Flex 上的文本右对齐

    我的代码如下 div div div div list name div br div div formatTime this state remainingTime days span language days span div div
  • C++11 随机数生成器的线程安全

    C 11 中有许多新的随机数生成器引擎和分布函数 它们线程安全吗 如果您在多个线程之间共享单个随机分布和引擎 是否安全并且您仍然会收到随机数吗 我正在寻找的场景是这样的 void foo std mt19937 64 engine stat
  • Xamarin 上自定义文件扩展名的意图过滤器实现

    我想在我的应用程序中打开带有自定义扩展名的文件 它可以来自电子邮件 下载 蓝牙等 每当用户点击这些文件时 我的应用程序就应该打开并执行一些任务 我需要 xamarin 平台的参考 帮助 我在这方面确实是新手 我的 Android 清单
  • SQLAlchemy 在事务中空闲

    我有用 Python 3 6 Flask 和 SQLAlchemy PostgreSQL 编写的应用程序 我遇到了悬挂问题idle in transaction我的数据库中的连接 这可能是因为我在选择查询后没有提交也没有回滚 我使用默认的
  • 使用 Java 访问 JSONArray 中项目的成员

    我刚刚开始在 java 中使用 json 我不确定如何访问 JSONArray 中的字符串值 例如 我的 json 如下所示 locations record id 8817 loc NEW YORK CITY id 2873 loc UN
  • EnumResourceNames 问题 - 未知错误

    我最近正在使用辅助库 二进制模块中的资源 并遇到了一个奇怪的错误 我有两个本机 WinAPI 参考 DllImport kernel32 dll SetLastError true public extern static bool Enu
  • Android Lollipop 问题 - 无法将图像从相机加载到 ImageView

    在 android lollipop 之前的任何版本上 下面的代码都可以正常工作 由于某种原因 从 Android 的某个版本 大约 5 0 开始 每当从相机捕获图像时 屏幕都会向右和向后旋转 90 度 不仅我的设备上的自动旋转关闭 我的活
  • Eclipse 插件:将 Launch 命令组添加到 Custom Perspective

    我在网上查找了很多教程 但很难找到与 Launches 相关的任何内容 我正在实现一个 IDE 插件 该插件实现了自定义透视图 但除了 运行最后一个工具 按钮之外 我看不到任何 运行 或 调试 工具栏按钮 每次启动透视图时 我都需要进入 自
  • 在 MEF 中组合零件后自动调用方法

    有没有办法指定在组成部分后自动调用方法 该方法可以在组合部分或进行组合的类中调用 是的 如果你的类实现了IPartImports满意通知 http msdn microsoft com en us library system compon
  • 有没有适用于 Android 的照片库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 由于Android中的内置照片库小部件不够好 很容易崩溃 我正在寻找第3方照片库库 如果您有好的选择请
  • 使用下拉菜单填充表单 - Access

    我正在尝试在访问中创建一个表单 该表单在顶部有一个下拉菜单 并将使用与所选内容相对应的记录填充表单的其余部分 我在网上查看了 2 个不同的指南 但都指向旧版本的 Access 我认为我遗漏了一些东西 所以 我做所有事情的顺序 我走到桌边拿表
  • Web Api 属性路由中的可选参数

    我想处理以下 API 调用的 POST v1 location deviceid appid 附加参数来自 Post Body 这一切对我来说都很好 现在我想通过允许 设备 id 和 或 应用程序 id 和 或正文数据为空来扩展我的代码 v
  • 需要获取文本文件中匹配字符串的行号

    我需要使用 PHP 获取文本文件的行号 我需要的线路是 想要这条线路 我尝试使用 file 将文件行放入数组中并使用 array search 进行搜索 但它不会返回行号 在此示例中 我需要返回 3 作为行号 file file file
  • PrimeFaces commandButton actionListener 未触发

    我无法获取我的actionListener in a