每当我在JSP文件中工作并键入${
来启动el(Expression Language(标记时,Eclipse将自动在光标后添加}
(右大括号前有一个空格(,这样我就得到了${ }
而不是${}
。
"首选项"中是否有代码模板可以修改以更改此行为,或者它是否超出了用户首选项的控制范围?
我已经签入了Preferences:Web:JSP文件:Editor:Templates,但这些模板都不匹配。我还查看了"首选项"中的其他几个部分,但没有发现任何有希望的内容。
@Mero提供的内容(请参阅上面对答案的评论(可能不是一个确切的答案,但创建JSP模板可能是我发现的最接近的东西。
对于任何想走这条路的人来说,有几个注意事项:
通过菜单Window->Preferences创建一个新模板,然后在下拉菜单中导航到Web->JSP文件->Editor->Templates。单击新建。
Name是您可以键入的快捷方式(在Java中键入sysout ctrl+space
也是System.out.println()
的快捷方式(。我建议一些简单的东西,比如el
。这允许您键入e l ctrl-space
而不是$ { ctrl-space
来将其向上拉。
上下文告诉它应该在智能意义上出现。我建议创建两个该模板,其中一个模板的上下文为JSP属性值,另一个模板上下文为All JSP。
描述只是提供信息。你想放什么就放什么。我把'EL脚本'自己。
模式是您放置要插入的内容的位置。根据偏好,放置$${${cursor}}
或$${${script}}
。有关差异的解释,请参见下文。
在Eclipse模板中,${}
是在模板中放置变量的方式,因此要使其真正打印${}
,必须用一个通向$${}
的$$
转义$
。
预定义的变量${cursor}
定义了intellisense替换el
后光标的位置,因此要使光标出现在大括号之间,您需要执行以下操作:$${${cursor}}
。
使用任何未预定义的变量(在本例中为${script}
(,只需将变量放在该变量中,并在其周围加上一个框,即可在上面键入,完成后按enter键,即可移动到右大括号的末尾。
注意:我知道这不是一个实际的答案,而是一个变通方法。我把它放在这里只是为了让那些对变通方法很满意的人知道如何去做
编辑
对于那些不喜欢键入ctrl-space
的人,一个解决方法可以是将模板名称以<
开头,因为在JSP页面上,<
打开intellisense,所以例如,您可以将名称设置为<el
或<$
。
解决方法但不是答案:
禁用EL标签的自动关闭。键入${expression}
得到${expression}|
,而不是键入${expression
得到${expression| }
。(|
表示光标位置(
看到这个答案,当Eclipse开普勒被问到同样的问题时:https://stackoverflow.com/a/20258401/1021426