日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。...

發(fā)布時(shí)間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、關(guān)于頁面跳轉(zhuǎn)的疑問

  • 后臺(tái)「return "/pool/index"」返回的是字符串,會(huì)自動(dòng)尋找名為“index”的頁面模板文件是怎樣實(shí)現(xiàn)的?

答:這是SpringMVC實(shí)現(xiàn)的,如果在Action層方法名頂部,不能添加注釋“@ResponseBody”否則后臺(tái)會(huì)以數(shù)據(jù)形式返回到前臺(tái)
如果action層中的方法,需要返回頁面,卻添加了“@ResponseBody”注解,就會(huì)出現(xiàn)下面問題:

  • 如果想要返回以“.shtml”后綴的模板文件,需要怎樣設(shè)置?

答:修改application.yml配置文件如下: #################模板參數(shù)配置#################thymeleaf:mode: HTML5 prefix: classpath:/templates/ suffix: .shtml servlet: content-type: text/html mvc: static-path-pattern: /** resources: static-locations: classpath:/webapp/, classpath:/META-(換行)INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/

  • 注意,不建議在action層,RequestMapping中配置以“.html”結(jié)束的請(qǐng)求名。

原因:會(huì)與頁面文件重復(fù),分不清是文件名還是請(qǐng)求。也不利于后續(xù)代碼維護(hù)。

  • 關(guān)于action層返回值是「頁面模板文件名」或「redirect:/請(qǐng)求名」

以下面代碼為例:

@RequestMapping("/receive-success.shtml")
public String reciveSuccess(HttpServletRequest request,Model model) {
String mobile = (String) request.getSession().getAttribute("mobile");
if(mobile == null) {
return "redirect:/index.shtml"; ----------1
}
return "receiveSuccess"; --------------------2
}

1:后臺(tái)重定向符號(hào),發(fā)起了新的后臺(tái)請(qǐng)求;此處未處理完成,需要再發(fā)送請(qǐng)求,請(qǐng)求內(nèi)容是「/index.shtml」

2:在工程中尋找指定文件名的頁面模板文件;此處已處理完成,只需把已處理好的數(shù)據(jù)(或者沒有數(shù)據(jù)),發(fā)給頁面模板文件展示即可(ps:也可以理解為html后綴的頁面文件)。

二、后臺(tái)錯(cuò)誤處理的疑問

在外部審計(jì)平臺(tái)中已實(shí)現(xiàn)效果:后臺(tái)若拋出異常信息{"code","msg"},在某個(gè)ErrorAction中統(tǒng)一處理,展現(xiàn)給用戶的是一個(gè)自定義錯(cuò)誤頁面,頁面風(fēng)格統(tǒng)一,同時(shí)能顯示異常信息msg的內(nèi)容和返回之前正常頁面的按鈕。

三、關(guān)于優(yōu)化equity項(xiàng)目代碼:

用stringMap把所有bean的屬性逐一存進(jìn)去,影響代碼可讀性,并且寫起來也麻煩

方案1:最簡(jiǎn)單的,在bean中添加一些屬性,后臺(tái)方法查詢出來的另一些屬性,設(shè)置進(jìn)去。或者根據(jù)聯(lián)合查詢,獲取需要的屬性值。

方案2:擔(dān)心污染bean的有序性?查詢出來的所有屬性,按照bean分類存儲(chǔ),thymleaf中用「beanA.屬性;beanB.屬性;屬性」的方式取出來。

方案3:最規(guī)范的,使用po「存儲(chǔ)object」和vo「展示object」,不同對(duì)象的用途不同,缺點(diǎn)是麻煩,如果僅有幾個(gè)屬性不建議這樣做。

擔(dān)心上線后,由于少數(shù)后臺(tái)參數(shù)錯(cuò)誤導(dǎo)致整個(gè)頁面錯(cuò)誤?

thymleaf中使用下面寫法:「bean?.屬性」或「屬性.」

特殊字符:三角符號(hào)

?

代碼建議:

無需實(shí)例化 dateUtils

若需要實(shí)例化,請(qǐng)加上@Autoweird或@Resource@service注解

四、頁面代碼優(yōu)化:

thymleaf模板注意事項(xiàng)

注意:

下面這段代碼中{{if type}} {{else} {{/if}}不能濫用,因?yàn)槿魌ype的類型為int,后臺(tái)傳來的值為「0」則解析時(shí),認(rèn)為沒有獲取值,因此表格中會(huì)顯示為「null」。

{{if type}}<td>${type}</td>{{else}}<td>undefined</td>{{/if}} 

親測(cè)截圖:選中行的所有值都為0,其中「權(quán)益類型、申請(qǐng)環(huán)境、有效期限」字段的類型為int,如果使用下面的代碼,效果如下:

            {{if name}}<td>${name}</td>{{else}}<td>null</td>{{/if}} {{if type}}<td>${type}</td>{{else}}<td>null</td>{{/if}} {{if productId}}<td>${productId}</td>{{else}}<td>null</td>{{/if}} {{if channelId}}<td>${channelId}</td>{{else}}<td>null</td>{{/if}} {{if currentCostCount}}<td>${currentCostCount}</td>{{else}}<td>null</td>{{/if}} {{if environmentType}}<td>${environmentType}</td>{{else}}<td>null</td>{{/if}} {{if validPeriod}}<td>${validPeriod}</td>{{else}}<td>null</td>{{/if}} {{if approveStatus}}<td>${approveStatus}</td>{{else}}<td>null</td>{{/if}} 

總結(jié)

以上是生活随笔為你收集整理的aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。