最后我一直觉得jQuery正慢慢成为JS库中的事实标准(我可能错了!),或者至少比其他框架更活跃.
例如,我一直在寻找像Componente这样的优秀开源日历,并找到了基于jQuery的http://fullcalendar.vinsol.com/.
我们一直在使用Prototype来处理非常小的事情,例如它的选择器功能(主要$用作快捷方式document.getElementById),在加载页面时执行一些JS并发出一些非常简单的Ajax调用.
所以我想迁移应该是非常直接的,但我想知道从Prototype迁移到jQuery的优点/缺点.
另一方面,我想将两者放在一起并不是一个好的选择,特别是考虑到迁移应该非常简单.我对吗?
编辑:一些有用的资源:
我正在服务器中部署一个播放应用程序,在这个应用程序中我没有写入权限〜/当发出播放deps时我收到以下错误
[playdemo-playdemo.rhcloud.com repo]\> ~/playdemo/data/play-1.2.4/play deps
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.2.4, http://www.playframework.org
~
~ Resolving dependencies using /var/lib/libra/eadfb84dc0ac4b05baa584693f557e5e/playdemo/runtime/repo/conf/dependencies.yml,
~
Exception in thread "main" java.io.FileNotFoundException: /var/lib/libra/eadfb84dc0ac4b05baa584693f557e5e/.ivy2/cache/resolved-play-application-repo-1.0.xml (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter.write(XmlModuleDescriptorWriter.java:69)
at org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter.write(XmlModuleDescriptorWriter.java:61)
at org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor.toIvyFile(DefaultModuleDescriptor.java:549)
at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:248)
at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:195)
at play.deps.DependenciesManager.resolve(DependenciesManager.java:327)
at play.deps.DependenciesManager.main(DependenciesManager.java:39)
Run Code Online (Sandbox Code Playgroud)
我尝试了几个更改缓存目录的方法,比如在app.conf中使用以下内容创建ivysettings.xml
<ivysettings> …Run Code Online (Sandbox Code Playgroud) 我有这个play框架2代码(简化):
import formatters.json.IdeaTypeFormatter._
object IdeaTypes extends Controller {
def list = Action { request =>
Ok(toJson(IdeaType.find(request.queryString)))
}
def show(id: Long) = Action {
IdeaType.findById(id).map { ideatype =>
Ok(toJson(ideatype))
}.getOrElse(JsonNotFound("Type of idea with id %s not found".format(id)))
}
}
Run Code Online (Sandbox Code Playgroud)
IdeaTypeclass extends Entity,它的伴随对象IdeaType,扩展EntityCompanion.
正如您所料,我在每个控制器中都有这种代码,因此我想将基本行为提取到特征中,如下所示:
abstract class EntityController[A<:Entity] extends Controller {
val companion: EntityCompanion
val name = "entity"
def list = Action { request =>
Ok(toJson(companion.find(request.queryString)))
}
def show(id: Long) = Action {
companion.findById(id).map { entity => …Run Code Online (Sandbox Code Playgroud) 我有一个132 kb的文件(你真的不能说它很大)我试图从Scala REPL中读取它,但是我无法读取过去的2048个char,因为它给了我一个java.nio.charset.MalformedInputException例外
这些是我采取的步骤:
val it = scala.io.Source.fromFile("docs/categorizer/usig_calles.json") // this is ok
it.take(2048).mkString // this is ok too
it.take(1).mkString // BANG!
java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(CoderResult.java:277)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:338)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
Run Code Online (Sandbox Code Playgroud)
知道什么可能是错的吗?
-
显然问题是该文件不是UTF编码的
我把它保存为UTF,一切正常,我只是在迭代器上发出mkString,它检索文件的全部内容
奇怪的是,这个错误只会引起前2048个字符的传递......
如果我发出:
$ scala -classpath poi-3.9/poi-3.9-20121203.jar
scala> import org.apache.poi.hssf.usermodel.HSSFSheet
import org.apache.poi.hssf.usermodel.HSSFSheet
Run Code Online (Sandbox Code Playgroud)
一切正常,但如果相反我发出:
$ scala
scala> :cp poi-3.9/poi-3.9-20121203.jar
Added '/home/sas/tmp/poi/poi-3.9/poi-3.9-20121203.jar'. Your new classpath is:
".:/home/sas/tmp/poi/poi-3.9/poi-3.9-20121203.jar"
Nothing to replay.
scala> import org.apache.poi.hssf.usermodel.HSSFSheet
<console>:7: error: object apache is not a member of package org
import org.apache.poi.hssf.usermodel.HSSFSheet
^
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
我的意思是,像php'h包括......
就像是
my_file_to_be_included = "include_me.asp" -- >
对于我到目前为止看到的,有几种选择,但每一种都有某种缺点......
我想弄清楚的是如何制作一个灵活的模板系统......而不必将整个东西静态地包含在一个带有loooooong case语句的单个文件中......
这里有几个链接
使用FileSysmemObject的解决方案,只允许您包含静态页面
但它有一些我想要避免的缺点...似乎(尚未尝试过)Server.Execute代码在另一个上下文中运行,因此您无法使用它来加载您计划在来电代码...讨厌......
我不确定它(无法测试它)但似乎这个dinamycally处理页面到SSDI组件...
任何的想法???
我已经看到mongrel的最后一次更新是大约一年前...
http://mongrel.rubyforge.org/wiki/WikiStart?action=diff&version=35
它被推迟了吗?
Windows开发盒还有其他轻量级替代品吗?
我在网上找不到太多文档
到目前为止,显而易见的差异似乎是你不能使用"script"标签混合html和vbscript
例如,这没关系
<% public sub display_literal() %> literal <% end sub %>
但是你应该使用脚本标签
<script language="vbscript" runat="server">
public sub display_literal2()
response.write "literal2</br>"
end sub
</script>
在本页面
http://www.newobjects.com/pages/ndl/alp/asp-structure.htm
它说
在经典ASP中,以页面的默认脚本语言(即<%%>标签所假定的语言)编写的脚本被执行第二 - 例如,<%%>标签中的所有脚本代码在所有<SCRIPT RUNAT之后被初始化= SERVER ...>脚本.
但我做了几个测试,无法验证它......
我问,因为我有一个脚本(我现在没有它),使用<%%>给了我一个错误,将其更改为<script>标签解决了问题,但我想知道为什么....
无论如何,我想我们应该使用<script>标签来处理从<%%>标签调用的函数和程序......对吗?
我正在开发一种方法,如果它传递一个条件列表,它应该持久化一个对象.
如果任何(或许多)条件失败(或出现任何其他类型的错误),则应返回包含错误的列表,如果一切顺利,则应返回已保存的实体.
我在想这样的事情(当然是伪代码):
request.body.asJson.map { json =>
json.asOpt[Wine].map { wine =>
wine.save.map { wine =>
Ok(toJson(wine.update).toString)
}.getOrElse { errors => BadRequest(toJson(errors))}
}.getOrElse { BadRequest(toJson(Error("Invalid Wine entity")))}
}.getOrElse { BadRequest(toJson(Error("Expecting JSON data")))}
Run Code Online (Sandbox Code Playgroud)
也就是说,我想将它视为一个Option [T],如果任何验证失败,而不是返回None它给我一个错误列表......
想法是返回一个JSON错误数组......
所以问题是,这是处理这种情况的正确方法吗?在Scala中实现它的方法是什么?
-
哎呀,刚刚发布了问题并发现了
http://www.scala-lang.org/api/current/scala/Either.html
无论如何,我想知道你对所选方法的看法,以及是否还有其他更好的选择来处理它.
scala ×5
asp-classic ×2
classpath ×1
file ×1
file-io ×1
include ×1
inheritance ×1
ivy ×1
jar ×1
jquery ×1
migration ×1
mongrel ×1
prototypejs ×1
routes ×1
ruby ×1
runatserver ×1
traits ×1
vbscript ×1
windows ×1