如何在Coldfusion中获取URL参数和值?对于Ex: -
我的网址是
test.cfm?par1=val1&par2=val2&par3=val3
Run Code Online (Sandbox Code Playgroud)
是否可以直接获取第二个参数及其值?
与<cfset param='#url.par2#'>
我能得到PAR2的价值,但我的参数dynamicically从其他网页产生并传递到这里(PAR2可能是下一次ABC2,XYZ2等.)所以,我认为更好的办法是让在第二Possition的参数和值( Possition总是不会改变).
任何想法我怎样才能得到它?
提前致谢
手册页介绍了J2EE会话管理(SM)相对于ColdFusion SM的一系列优势,但另一方面呢?使用J2EE SM时会出现哪些问题?
另外,如果J2EE SM如此酷,为什么ColdFusion SM仍然是默认的?
我可以看到一个明显的原因:向后兼容性.这对Adobe来说很典型.同时我怀疑Adobe关心与其他CFML引擎的兼容性.
还有其他原因吗?
我正在使用自定义SMTP服务器,并希望在用户输入自己的服务器凭据时验证连接.
与添加邮件服务器时Adobe CF和Railo允许的检查完全相同.
当然,这并不能保证交付工作正常,但至少要检查输入的服务器/用户名/通行证是否有效.
我可以看到一个棘手的方法:尝试使用cfmail发送电子邮件并检查邮件日志.但我相信它可以更优雅地完成.
是否有标准ACF/Railo发行版的Java库可以帮助我?我该如何使用它们?例子受到高度赞赏.
提前致谢.
编辑:
请不要与Java标签混淆.CFML需要解决方案.虽然它可以使用一些Java库,但如果适用的话.
好老的Fusebox是我的第一个框架,我仍然非常喜欢它.从PHP版本开始,目前使用最新的CFML版本.
但时间流逝,我想知道:也许我应该切换到另一个框架?好吧,我不想在这里开始圣战.我只是想知道继续使用FB的优点和缺点.
说,我认为没有XML控制器是非常好的想法,并迈向未来.或者也许我错了,这不是因为我应该专注于Mach-II或者Model-Glue或......(输入你最喜欢的)?
但是PHP怎么样?似乎它已经过去了一段时间.Symfony,CakePHP,Zend等现在看起来好多了,而且发展很快.
因此,比较方面的粗略列表如下:
任何想法和意见都表示赞赏.谢谢.
在ColdFusion 9中,是否有一种快速方法可以找到下次计划任务尝试运行的时间?
对于我做错的事情而言,这已经成为一种锻炼,而不是关键任务,但我仍然希望看到我正在犯的错误(简单可能).
我正在使用mysql(5.1.x)AES_ENCRYPT来加密字符串.我正在使用CF的generateSecretKey('AES')来创建一个密钥(我已经在defaul和128和256位长度上尝试过它).
所以让我们说我的代码看起来像这样:
<cfset key = 'qLHVTZL9zF81kiTnNnK0Vg=='/>
<cfset strToEncrypt = '4111111111111111'/>
<cfquery name="i" datasource="#dsn#">
INSERT INTO table(str)
VALUES AES_ENCRYPT(strToEncrypt,'#key#');
</cfquery>
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,我可以使用SELECT AES_DECRYPT(str,'#key#')AS来选择它...完全没有问题.
我似乎无法做的是让CF使用以下内容解密它:
<cfquery name="s" datasource="#dsn#">
SELECT str
FROM table
</cfquery>
<cfoutput>#Decrypt(s.str,key,'AES')#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
要么
<cfoutput>#Decrypt(toString(s.str),key,'AES')#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
我一直得到"输入和输出编码不一样"(包括toString() - 没有我得到二进制数据错误).db中加密字符串的字段类型是blob.
任何人都可以帮助我如何在一次提交中提交多行?
此调查表格将显示一组源自表技能的技能.教师必须在复选框中检查学生技能,然后单击"提交".
学生可以拥有多种技能.如果他有3种技能,那么一旦教师点击提交按钮,发送到数据库的数据将分为3行.(表studentkill)
<cfoutput query="skill">
<tr>
<td>#skill.skillname#</td>
<td align="center">:</td>
<td><input type="checkbox" name="skillid" value="skillid" checked="checked"></td>
</tr>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
桌上技巧
+---------+------------+
| skillid | skillname |
+---------+------------+
| 1 | draw |
+---------+------------+
| 2 | read |
+---------+------------+
| 3 | dance |
+---------+------------+
Run Code Online (Sandbox Code Playgroud)
表studentkill
+----------+----------|
|studentid | skillid |
+----------+----------+
| 001 | 1 |
| 001 | 2 |
| 002 | 1 |
| 002 | 2 |
| 002 | 3 |
+----------+----------+
Run Code Online (Sandbox Code Playgroud) WACK说:
如果您觉得需要大量参数,请考虑创建CT.
...
CT比自定义功能更强大,更灵活.尝试将UDF用于简单的事情...将CT和组件用于更多涉及的过程,尤其是那些您可以将其视为离散动作而非简单"按摩"的过程
好的,但你通常如何做决定?有兴趣了解现实生活中的实践和例子.
对我来说,当一个函数有许多不需要的参数时,就会发生这种情况,因此我必须将它们称为myFunc(arg1 ="foo",arg2 ="bar").有时<cfmodule>
语法变得更易读,但并非总是如此.
其他原因是我不喜欢长(例如,超过2个代码屏幕)UDF.
但所有这些想法都是非常主观的,这就是为什么我有兴趣阅读其他人的意见.也许有更好的规则?
提前致谢.
我目前使用Sublime Text 2进行ColdFusion编码.写这篇文章时
<cfquery name="tester" datasource="#ds#">
SELECT #createODBCDatetime(trim(arguments.foo))#
FROM dual;
</cfquery>
Run Code Online (Sandbox Code Playgroud)
在 #createODBCDatetime(trim(arguments.foo))#
被染色相同的注释.如何告诉Sublime Text 2不将##视为注释?
我想用脚本语法而不是旧样式标记语法编写以下内容.
<cfcomponent persistent="true" table="AuditType" schema="Audit" >
<cfproperty name="AuditTypeID" column="AuditTypeID" ormtype="int" fieldtype="id" />
<cfproperty name="AuditTypeName" column="AuditTypeName" ormtype="string" />
<cfproperty name="AuditTypeSort" column="AuditTypeSort" ormtype="integer" />
</cfcomponent>
Run Code Online (Sandbox Code Playgroud) coldfusion ×10
aes ×1
cfml ×1
coldfusion-8 ×1
comparison ×1
custom-tag ×1
encryption ×1
frameworks ×1
java ×1
java-ee ×1
mysql ×1
orm ×1
php ×1
railo ×1
session ×1
smtp ×1
sql-server ×1
sublimetext ×1
sublimetext2 ×1