Salesforce-无法将visualforce inputtext值传递给apex类

Salesforce-无法将visualforce inputtext值传递给apex类,salesforce,visualforce,apex,Salesforce,Visualforce,Apex,我有下面的Visualforce页面,apex类作为控制器。 我想将输入文本框中包含th ID inputText1和InputText2的值传递给以下apex类中的同一个变量 每次apex类中的InputExt1和InputExt2都是空的,我不知道为什么! 我整天坐在上面,弄不明白为什么会这样 请帮帮我,因为我对此感到绝望 <apex:page controller="LoginPages" rendered="true" showHeader="false" sidebar="fal

我有下面的Visualforce页面,apex类作为控制器。 我想将输入文本框中包含th ID inputText1和InputText2的值传递给以下apex类中的同一个变量

每次apex类中的InputExt1和InputExt2都是空的,我不知道为什么! 我整天坐在上面,弄不明白为什么会这样

请帮帮我,因为我对此感到绝望

<apex:page controller="LoginPages" rendered="true" showHeader="false" sidebar="false" standardStylesheets="true">
<apex:Pagemessages id="msg"/>
<apex:pageMessages ></apex:pageMessages>
<apex:pageBlock >
<apex:form >
<p><b>Login Page</b><br /></p>
<apex:panelGrid columns="2" style="margin-top:1em;">
<p><b>UserName</b><br />
<apex:inputtext required="true" id="inputText1" value="{!inputText1}"/>
</p>
<p><b>Password</b><br />
<apex:inputtext id="inputText2" value="{!inputText2}"/>
</p>
 <apex:commandButton action="{!loginUser}" value="login" id="login"  immediate="true"/>
 </apex:panelGrid>
</apex:form>
</apex:pageBlock>

</apex:page>




public class LoginPages{


   public String inputText1;
    public String inputText2;

    public String getInputText1(){
        return inputText1;
    }

    public void setInputText1(String str1){
        inputText1 = str1;
    }

        public String getInputText2(){
        return inputText2;
    }

    public void setInputText2(String str2){
        inputText1 = str2;
    }



    public PageReference registerUser() {
        PageReference newPage = new PageReference('/apex/newPage');
        newPage.setRedirect(true);
        return newPage;
    }

    public void  loginUser() {
        ApexPages.Message mymsg = new ApexPages.Message(ApexPAges.Severity.INFO, 'sdsdf' +  inputText1);
        apexpages.addMessage(mymsg);
       // PageReference newPage = new PageReference('/apex/login');
       System.debug('sdfsdf' + inputText1);     

        List<User__c> users = [Select Name, Password__c from User__c Where Name = :inputText1];
        if (users.size() > 0){
            for (User__c user : users){
                if (user.Password__c == inputText2){
                           //newPage.setAnchor('/apex/catalog');
                        //newPage.setRedirect(true);

                }
            }   
        }
        //return newPage;

    }
}
Remove immediate=true。即时结果是没有数据从表单传递到服务器

另外-您可以编写更简单的变量,这样就不需要显式的getXYZ/setXYZ方法:

公共字符串inputExt1{get;set;}

删除立即数=true。即时结果是没有数据从表单传递到服务器

另外-您可以编写更简单的变量,这样就不需要显式的getXYZ/setXYZ方法:


公共字符串inputText1{get;set;}

非常感谢!我花了一整天的时间!如果我需要immedia=true,这样我就可以跳过验证并且仍然需要传递值,该怎么办。@用户取决于您需要做什么。如果您需要提交表单的一部分,例如,有一个必填字段,最终需要提交整个页面,但现在您只需要部分数据,例如自动完成,例如签出长示例,对不起。如果你只是在点击某个按钮时才需要验证,我会说将所有字段标记为非必需,并且只在Apex中进行验证逻辑,只在该按钮的操作上进行验证。非常感谢!我花了一整天的时间!如果我需要immedia=true,这样我就可以跳过验证并且仍然需要传递值,该怎么办。@用户取决于您需要做什么。如果您需要提交表单的一部分,例如,有一个必填字段,最终需要提交整个页面,但现在您只需要部分数据,例如自动完成,例如签出长示例,对不起。若你们只是在点击某个按钮的时候才需要验证,我会说把所有字段都标记为非必需的,只在Apex中进行验证逻辑,只在那个按钮的动作上进行验证。