Salesforce-无法将visualforce inputtext值传递给apex类
我有下面的Visualforce页面,apex类作为控制器。 我想将输入文本框中包含th ID inputText1和InputText2的值传递给以下apex类中的同一个变量 每次apex类中的InputExt1和InputExt2都是空的,我不知道为什么! 我整天坐在上面,弄不明白为什么会这样 请帮帮我,因为我对此感到绝望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
<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中进行验证逻辑,只在那个按钮的动作上进行验证。