在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的更多相关文章

  1. 在Salesforce中向外公布Service去创建Lead,并且用Asp.Net去调用此Service

    1):在Salesforce中如何配置,向外公布此Service,请看如下链接: http://www.shellblack.com/marketing/web-to-lead/ 2):如何在Asp. ...

  2. 在Salesforce中为Object创建Master-Detail(Child-Relationship)关联关系

    在Salesforce中可以将两个Object建立起一对多的关联关系,本篇文章就简单的叙述一下将两个Object(EricSunObj & EricSunObjC)设置成Master-Deta ...

  3. 在Salesforce中创建Approval Process

    在Salesforce中可以创建Approval Process来实现审批流程的功能,实际功能与我们常说的Workflow很相似,具体的设置步骤如下所示 1):选择对应的Object去创建对应的App ...

  4. salesforce 零基础开发入门学习(十四)salesforce中工厂模式的运用

    提到工厂模式,想必大家都很熟悉,工厂模式作为一种设计模式,同样在salesforce中适用. 举一个例子,笔作为基类,可以有钢笔,铅笔,圆珠笔等等.有一个笔的工厂,当你向它要钢笔,它就会生产一支钢笔; ...

  5. 在Salesforce中对某一个Object添加自定义的Button和Link

    在Salesforce中可以对某一个Object添加自定义的Button和Link,来完成特定的逻辑过程,接下来以一个简单的实例来描述整个处理流程,实现的基本功能和我另外一篇文章中描述的功能是一致的( ...

  6. 在Salesforce中可以对某一个Object的Standard Button或Link进行重写

    在Salesforce中可以对某一个Object的Standard Button或Link进行重写,来实现我们特定的逻辑过程,比如:在删除某个Object之前要判断该Object的某个Field的状态 ...

  7. 在Salesforce中调用外部系统所提供的的Web Service

    这里需要提供外部service所对应的WSDL文件(Salesforce只支持从本地上传),并且提供的WSDL文件有如下两点要求: 1):wsdl 文件只能有一个binding,Salesforce是 ...

  8. 在Salesforce中添加Workflow Rule

    在Salesforce中可以添加Workflow Rule来执行特定的动作,比如说:当Object的某个字段发生变化时,根据变化的值去修改其他field,和Trigger的功能很类似,不过Trigge ...

  9. 在Salesforce中对某一个Object添加 Validation Rule

    在Salesforce中可以对某一个Object添加相应的 Validation Rule 来进行一个全局的条件判断,比如满足什么样的条件的修改允许提交,不满足的要提示相应的错误信息. 要创建一个Va ...

随机推荐

  1. 使用CAtlRegExp类进行密码校验

    前言 最近做了一个小需求,新建用户时输入的密码必须包含数字.小写字母.大写字符以及特殊字符,目的是为了增强密码的强度,如果没有其中一项,就需要弹出窗口进行提示. 正则表达式          对于此类 ...

  2. 关于CentOS系统中,文件权限第11位上是一个点的解读

    http://blog.csdn.net/dashuai03091199/article/details/38920833 http://blog.csdn.net/xinlongabc/articl ...

  3. 多线程环境下调用 HttpWebRequest 并发连接限制

    .net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows  7 下默认是2,在服务器操作 ...

  4. Python+selenium之简单介绍unittest单元测试框架

    Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...

  5. 170421、maven自定义变量及属性

    一.自定义变量 <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.n ...

  6. Oracle Java Mission Control MBean 服务器 飞行记录器

    Oracle Java Mission ControlMBean 服务器飞行记录器

  7. Uncaught TypeError: Cannot set property 'value' of null

    w拼写多一个空格导致. document.getElementById(winput_id).value = value; http://stackoverflow.com/questions/161 ...

  8. iass,pass,cass,sass,vm,container

    分布式存储hdfs 大文件,swift 对象存贮. 为七牛的CDN系统目前大部分还不是自建的,采用的是整合其它CDN的方式做的.也就是说出了七牛的文件分发使用的是网宿和蓝汛的老牌CDN的分发节点,自身 ...

  9. Windows系统优化

    1.关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态: 关闭方法:windows + R 打开运行,输入services.msc回车,右侧窗格找到“HomeGroup Listener”和“Ho ...

  10. Vi 的常用命令

    1. vi 的三种工作模式 命令模式 打开文件首先进入命令模式, 是使用 vi 的入口; 通过命令对文件进行常规的编辑操作, 例如: 定位,翻页,复制,粘贴,删除等; 末行模式 执行保存,退出等操作, ...