首页 > 解决方案 > 从命令按钮传递硬编码字符串作为参数并在 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;

可以做到这一点,并且页面引用是否可以使用所示的字符串变量。如果有更简单的方法??

标签: visualforceapex

解决方案


您的 Visualforce 与属性一起看起来很准确,但对于页面参考,它应该是

PageReference pdf = new PageReference('/'+VPName);//or '/apex/'+VPName if apex page

推荐阅读