Salesforce中Html的转义,InputField和RemoteAction
在Salesforce的开发中,有时候需要在对象中插入记录,其中有的字段需要插入Html,但是对于输入Html的域,大多数框架和网站都需要做Html的转义处理,防止XSS或者SQL注入攻击。有时候我们却需要取消这个Html转义的保护机制,考虑到有些需求,比如:博客网站,一些需要发表文章的网站,一般会给用户提供一个Html编辑器进行文章的编辑,最后存入数据库,而用户玩玩需要对文章的字体大小颜色等等进行订制,于是Html编辑器返回的文章便是一大串带Html代码的字符,存入数据库后,我们又需要读取出来,此时也不需要Html的保护,那么在Salesforce中我们可以如何做到这点。
1。 首先是InputField输入的验证,对于这种输入框,如果我们不需要转义,可以通过’html-’前缀来取消。
在Apex的文档中我们可以找到这么一段对于InputField的解释 This component supports HTML pass-through attributes using the "html-" prefix. Pass-through attributes are attached to the generated<input>tag. 但是文档中却找不到这样的一个例子,不过我们还是可以知道要表达的意思:
<apex:inputfield value="{!c.FirstName}" html-data-val="true"/>
对于上面的一段代码,如果不使用html-data-val=”true”,则便是默认的对输入框的值进行转义(如果里面有包含Html代码的话)。通过这个html-前缀,便关闭了这个输入框的转义机制。
2 。 在@RemoteAction标签的函数里面,有时候需要通过js请求控制器的函数,然后获取包含Html代码的字符串,但是这个也会被转义。
@RemoteAction
public static String RsMsg(String arg)
{
return '<p>Test</p>';//model.Remark__c;
}
js函数回调alert的结果如下:

被转义了,这个显然不是我们想要的结果,想要搞定这个问题,如下:我们需要在调用该RemoteAction函数带上{escape: false}这个参数
<script type="text/javascript">
function GetMsg()
{
CreateOrEditTestController.RsMsg(
"我是参数",
function(result,event)
{
if(event.status)
{
debugger;
alert(result);
$("#ShowMsg").append(result);
}
}
,
{escape: false}
);
}
</script>
默认的escape都是true,把这个参数赋个false,便可以:

Salesforce中Html的转义,InputField和RemoteAction的更多相关文章
- 在Salesforce中向外公布Service去创建Lead,并且用Asp.Net去调用此Service
1):在Salesforce中如何配置,向外公布此Service,请看如下链接: http://www.shellblack.com/marketing/web-to-lead/ 2):如何在Asp. ...
- 在Salesforce中为Object创建Master-Detail(Child-Relationship)关联关系
在Salesforce中可以将两个Object建立起一对多的关联关系,本篇文章就简单的叙述一下将两个Object(EricSunObj & EricSunObjC)设置成Master-Deta ...
- 在Salesforce中创建Approval Process
在Salesforce中可以创建Approval Process来实现审批流程的功能,实际功能与我们常说的Workflow很相似,具体的设置步骤如下所示 1):选择对应的Object去创建对应的App ...
- salesforce 零基础开发入门学习(十四)salesforce中工厂模式的运用
提到工厂模式,想必大家都很熟悉,工厂模式作为一种设计模式,同样在salesforce中适用. 举一个例子,笔作为基类,可以有钢笔,铅笔,圆珠笔等等.有一个笔的工厂,当你向它要钢笔,它就会生产一支钢笔; ...
- 在Salesforce中对某一个Object添加自定义的Button和Link
在Salesforce中可以对某一个Object添加自定义的Button和Link,来完成特定的逻辑过程,接下来以一个简单的实例来描述整个处理流程,实现的基本功能和我另外一篇文章中描述的功能是一致的( ...
- 在Salesforce中可以对某一个Object的Standard Button或Link进行重写
在Salesforce中可以对某一个Object的Standard Button或Link进行重写,来实现我们特定的逻辑过程,比如:在删除某个Object之前要判断该Object的某个Field的状态 ...
- 在Salesforce中调用外部系统所提供的的Web Service
这里需要提供外部service所对应的WSDL文件(Salesforce只支持从本地上传),并且提供的WSDL文件有如下两点要求: 1):wsdl 文件只能有一个binding,Salesforce是 ...
- 在Salesforce中添加Workflow Rule
在Salesforce中可以添加Workflow Rule来执行特定的动作,比如说:当Object的某个字段发生变化时,根据变化的值去修改其他field,和Trigger的功能很类似,不过Trigge ...
- 在Salesforce中对某一个Object添加 Validation Rule
在Salesforce中可以对某一个Object添加相应的 Validation Rule 来进行一个全局的条件判断,比如满足什么样的条件的修改允许提交,不满足的要提示相应的错误信息. 要创建一个Va ...
随机推荐
- 怎么隐藏MathType标尺
因为MathType公式编辑能力非常的好用,所以非常的受大家的欢迎.MathType用现有的模板可以直接输入输出各种公式,而且MathType中有着各式各样的数学符号满足了大家日常公式的需求,为大家的 ...
- 传递任意数量的实参*parameter&使用任意数量的关键字实参**parameter
1.*形参名(*parameter) 有时候我们不知道知道函数需要接受多少个实参,所以我们可以在形参名前加一个*,是让python创建一个名为parameter的空元组,并将收到的所有值都封装到这个元 ...
- Python Scrapy 自动爬虫注意细节(3)
一.对指定页面爬取 yield Request(url, meta={'cookiejar': response.meta['cookiejar']}, callback=self.parse_url ...
- 传参方法:sharedApplication, NSUserDefaults, protocol 和 delegate(实例)
本文转载至 http://blog.csdn.net/learnios/article/details/8442201 分类: 功能模块2012-12-27 10:22 109人阅读 评论(0) 收 ...
- json学习之JSONArray的应用(转载)
从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组. 1 /** 2 * 从json数组中得到相应java数组 3 * JSONArray下的toArray()方法 ...
- nexus配置第三方库文件
进入nexus管理界面 默认用户名密码:admin/admin123 在左侧Views/Repositories中选择Repositories,然后在右侧的面板中选择3rd party,在下方arti ...
- 170329、用 Maven 部署 war 包到远程 Tomcat 服务器
过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...
- EXSI5.5以上开启KVM二次虚拟化
1,在EXSI5.5上创建centos虚拟机(过程省略) 2,开启EXSI5.5的ssh功能 3,ssh登录虚拟机 4,编辑虚拟配置文件 /vmfs/volumes/datastore1/目录下,找到 ...
- Code Force 21B Intersection
B. Intersection time limit per test1 second memory limit per test256 megabytes inputstandard input o ...
- R语言中获取当前目录
# 获取当前工作目录 getwd() # 设置工作目录 setwd()