visualforce - 从命令按钮传递硬编码字符串作为参数并在 Apex 类中使用
问题描述
新手到salesforce,所以请原谅任何错误或错误的语法。本质上,我们有一个肮脏的解决方法手动菜单,允许用户从命令按钮下载 PDF 字母。
目前,Apex 控制器有多个PageReference 类,它们手动(硬编码)为每个需要转换为 PDF 的字母引用 VisualForce Page。例如
public PageReference saveLetter1(){
//visualforce page to create PDF from
pageReference pdf = Page.ltr_one_generalexample;
我想通过在命令按钮中简单地将 VF 页面名称作为字符串值传递并在 apex 类中使用它来创建一个可重用的类,但似乎无法获取该值(始终为空)。
<apex:commandButton action="{!saveLetter1}" styleClass="btn-info btn-lg"
value="Download Letter">
<apex:param name="VPName" value="!ltr_ws_addbin_new_refusal" assignTo="
{!VPName}"/>
</apex:commandButton>
在 Apex 类中
public String VPName{get;set;}
//and use as
pageReference pdf = Page.VPName;
可以做到这一点,并且页面引用是否可以使用所示的字符串变量。如果有更简单的方法??
解决方案
您的 Visualforce 与属性一起看起来很准确,但对于页面参考,它应该是
PageReference pdf = new PageReference('/'+VPName);//or '/apex/'+VPName if apex page