有没有大佬解释下这段代码String name = getPara("prjName") == null ? "" : getPara("prjName");是什么意思,看jfinal文档中的getpara并不是很理解

发布于 2021-12-02 18:46:06 字数 542 浏览 923 评论 7

public void index() {
        String name = getPara("prjName") == null ? "" : getPara("prjName");
        Page<Restaurant> page = Restaurant.dao.page(getParaToInt("pageNumber", 1), getParaToInt("pageSize", 10), name);
        setAttr("page", page);
        setAttr("name", name);
        render("index.html");
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

像你 2021-12-08 19:57:55

String name = getPara("prjName") == null ? "" : getPara("prjName");

首先是执行右边的三元运算,然后将结果赋值给左边的变量。

问号表达式的一般形式:

x? y : z;

执行过程:

x为真,返回y,否则返回z

无边思念无边月 2021-12-08 19:56:38

看见楼上都解释那么详细了,我就不说了

屌丝范 2021-12-08 19:56:34

一般情况,getPara(”title”) 返回页面表单域名为“title”参数值
这里,正如楼上各位所言,是个三目表达式。其操作符为: '?'   和 ':'。操作数是: getPara("prjName") == null, "", 和  getPara("prjName")。

String name = getPara("prjName") == null ? "" : getPara("prjName"); 意为:返回页面表单域名为“prjName”参数值, 若遇到 null,则返回空字符串 ""。 
getParaToInt(”pageNumber”) 意为:返回页面表单域名为“pageNumber”的参数值并转为 int 型

getParaToInt(getParaToInt("pageNumber" ),1) 意为:返回页面表单域名为“pageNumber”的参数值并转为 int 型, 若遇 null,则返回缺省/默认值 1

getParaToInt(getParaToInt("pageSize", 10) 意为:返回页面表单域名为“pagSize”的参数值并转为 int 型, 若遇 null,则返回缺省/默认值 10

 Page<Restaurant> page = .... 意为:
创建一个 Page 类的对象 page, 其泛型(即类型参数)为  餐厅 Restaurant  

setAttr("page",page); 意为:设置属性 "page" 值为 page
setAttr("name",name); 意为:设置属性 "name" 值为 name
render("index,html"); 意为:渲染/跳转 index.html, 

夜司空 2021-12-08 19:45:26

String name = getPara("prjName") == null ? "" : getPara("prjName");
我猜你不理解的是这一句, 这是个语法糖,有些时候确实方便。
(条件表达式)?true 结果:false结果。
简单翻译下来就是:
if(null == getPara("prjName") ){

    name = "";

}else{

    name = getPara("prjName") ;

}
 

无人问我粥可暖 2021-12-08 19:43:39

就是一个三元表达式

惜醉颜 2021-12-08 17:45:16

谢谢

瀞厅☆埖开 2021-12-07 05:24:27

getPara是从请求中获得参数啊。。String类型,这个整体就是三元表达式。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文