说我在function myNewFunction(e) {
e.preventDefault()
var e = document.getElementById('user.attributes.countryId');
var inpCountry = e.options[e.selectedIndex];
console.log(inpCountry.innerHTML.trim());
}
方法上有一个切入点。
<form action="">
<select class="form-control regist-user-input" id="user.attributes.countryId" name="user.attributes.countryId" required>
<option value="">Country</option>
<option value="1">
AFGHANISTAN
</option>
<option value="2">
ALAND ISLAND
</option>
<option value="3">
ALBANIA
</option>
<option value="4">
ALGERIA
</option>
<option value="5">
AMERICAN SAMOA
</option>
<option value="6">
ANDORRA
</option>
<option value="7">
ANGOLA
</option>
<option value="8">
ANGUILLA
</option>
<option value="9">
ANTARCTICA
</option>
<option value="10">
ANTIGUA AND BARBUDA
</option>
</select>
<br><br>
<input type="submit" onClick="myNewFunction(event)">
</form>
但是我只想捕捉一些run实例。例如:
run()
如何更改切入点以忘记不是来自线程的pointcut run(): execution(public void *.run());
before(): run() {
// do something with run
}
?
答案 0 :(得分:1)
如果您想建议Runnable.run()
方法的所有实现,除非提供该run方法的实现的类是TimerTask
的子类,则可以使用以下切入点表达式有效地完成此操作:
execution(public void Runnable+.run()) && !execution(public void java.util.TimerTask+.run());
答案 1 :(得分:0)
编辑:在下面的代码运行时,请检查Nándor Előd Fekete接受的答案,因为它效率更高。
从AspectJ Cookbook很容易推断出解决方案:
pointcut run(): execution(public void *.run()) && !target(java.util.TimerTask);
before(): run() {
// do something with run, will not catch instances of TimerTask
}