Mon*_*bal 9 html wicket identifier
如果我写
<form wicket:id="form" id="form>
Run Code Online (Sandbox Code Playgroud)
甚至
<form wicket:id="form>...
Run Code Online (Sandbox Code Playgroud)
然后,呈现的HTML显示每当刷新页面时附加不同数字的id"形式",例如
<form id="form7"....
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用Wicket框架的这种行为?
Mic*_*ard 18
我们在项目中广泛设置了标记ID,以便使用Selenium测试框架简化自动测试.绝对有效.
Component.setOutputMarkupId(true); // write id attribute of element to html
Component.setMarkupId("someid"); // id attribute of element is "someid"
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,这是您在使用wicket时所需的行为.动态id用于在将Ajax行为添加到组件或添加到ajax响应以进行刷新时防止id冲突.对于上述任何一种情况,您确实需要客户端响应和服务器端状态.如果有外部js资源你需要用于dom查找的组件的id,那么我建议添加一个自定义wicket组件行为,然后生成对传入生成的id的函数的js调用.
我意识到我要描述的内容会让你更多地进入Wicket森林.但是我对Wicket为您开箱即用的蠢事感到非常满意.