String destinationFile = request.getParameter("destinationFile ");
if (destinationFile == null || "".equals(destinationFile))
response.sendRedirect("/astro/login/index.jsp?destinationFile =customerLogin.jsp");
我把它写成
String destinationFile = request.getParameter("destinationFile ");
response.sendRedirect((destinationFile==null || "".equals(destinationFile)) ? "/astro/login/index.jsp?destinationFile =customerLogin.jsp" : destinationFile);
terinary运算符的问题在于:
之后应该放置什么如果条件我还没有提到任何其他内容。我必须验证目录结构应该预先设置为destinatedFile。
答案 0 :(得分:1)
你根本做不到。
三元运算符生成一个可以使用的表达式e。 G。作为函数参数。
那就是说,如果你有一个else
分支也可以使用terary运算符。
所以
if (a) {
response.sendRedirect(b);
} else {
response.sendRedirect(c);
}
可以改写为
response.sendRedirect(a ? b : c);
但是如果你的else
分支完全做了其他事情(或根本不做任何事情),你就会遇到正常的if
条款。
答案 1 :(得分:0)
使用三元运算符--->
var reult =
(request.getParameter("destinationFile").ToString() != String.Empty || request.getParameter("destinationFile") != null) ? response.sendRedirect("/astro/login/index.jsp?destinationFile =customerLogin.jsp") :
null;
答案 2 :(得分:0)
你做不到...... 三元运算符暗示IF-ELSE条件,而您只有IF部分。
例如,假设您有以下代码:
String destinationFile = request.getParameter("destinationFile ");
if (!String.IsNullOrEmpty(destinationFile))
response.sendRedirect(destinationFile);
else
response.sendRedirect("/astro/login/index.jsp?destinationFile=customerLogin.jsp");
然后您可以将其更改为:
String destinationFile = request.getParameter("destinationFile ");
response.sendRedirect(!String.IsNullOrEmpty(destinationFile) ? destinationFile : "/astro/login/index.jsp?destinationFile=customerLogin.jsp"));