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