课程章节介绍
今天我们来聊聊如何在Salesforce中编写一个Setter方法。Setter方法的主要作用是设置一个变量的值。在这个例子中,我们将使用Setter方法来存储用户在页面上输入的搜索文本。
首先,我们来看一下为什么我们不使用DML(数据操作语言)来将数据持久化到数据库中。在这个场景中,我们只是暂时存储用户输入的搜索文本,以便在同一控制器的第二个页面上使用它来显示搜索结果。这意味着我们不需要将数据保存到数据库中,只需要在控制器中临时存储即可。
接下来,我们来看一下如何在Visualforce页面中使用表达式语法来引用Setter方法。在Visualforce页面中,你可以使用`{!DataName}`这样的表达式来引用Setter方法。这样,当用户在输入框中输入文本并点击搜索按钮时,输入的文本就会被传递给Setter方法,并存储在控制器中。
现在,我们来看一个完整的示例代码:
```apex
// 控制器类
public class SearchTextController {
public String searchText;
// Getter方法
public String getSearchText() {
return searchText;
}
// Setter方法
public void setSearchText(String s) {
searchText = s;
}
// 操作方法
public void search() {
System.debug('Search Text = ' + searchText); // 打印Visualforce页面中的用户输入
}
}
```
```html
```
在这个示例中,`SearchTextController`类有一个`searchText`变量,以及对应的Getter和Setter方法。当用户在Visualforce页面的输入框中输入文本并点击“Search”按钮时,输入的文本会通过Setter方法存储在`searchText`变量中。然后,`search`方法会被调用,打印出用户输入的搜索文本。
需要注意的是,Setter方法总是在操作方法之前触发。这一点非常重要,因为它确保了在操作方法执行之前,所有的数据都已经设置好了。这样,你就可以在操作方法中放心地使用这些数据了。
希望这个解释对你有帮助!如果有任何问题,随时问我哦。