我正在寻找一个解决方案,其中我在struts.xml中没有操作URL,但是如果我访问该URL,那么我不希望提供struts错误日志,而是希望将其重定向到任何自定义和合适的错误页面。 / p>
答案 0 :(得分:0)
全局异常处理
如果要显示所有错误的错误页面,请使用全局异常处理,如here所述。
默认是使用类似这样的东西:
extension SelectCategoryViewController: UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return CategeryArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell")!
cell.textLabel?.text = self.CategeryArray[indexPath.row]
if self.CategeryArray[indexPath.row] == self.selectedCategoryValue {
cell.accessoryType = .checkmark
} else {
cell.accessoryType = .none
}
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
self.selectedCategoryValue = CategeryArray[indexPath.row]
self.tableView.reloadData()
}
}
通配符映射
或者,如果您只想处理未知的动作名称,则可以使用解释为here的通配符映射。
解决方案可能是:
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>
请确保将通配符操作放在struts配置的顶部,因为“最后一个获胜”。