java - SpringMVC返回json串
問題描述
在用springmvc返回json串的時候,頁面上只顯示一個鍵值對,如圖
目的是要獲取這個樣子的
{'text':'文本','flag':'文本'}
為什么會出現這種只有第一個鍵值對的情況。
contraller
import com.dcxm.stu.bean.Message;import com.dcxm.stu.bean.Student;import com.dcxm.stu.service.RegisterService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;@RestController@RequestMapping('/student')public class RegisterController { private Student student = new Student(); @Autowired private RegisterService registerService; @RequestMapping(value = '/register') public Message register(HttpServletRequest request, Model model) {student.setTelphone('13245648');student.setPassword('123465');System.out.println(registerService.studentRegister(student));return registerService.studentRegister(student); }}
在這個代碼的末尾輸出返回值任就是 正確的信息,但是在網頁上顯示就不真確了。
RegisterService
import com.dcxm.stu.bean.Message;import com.dcxm.stu.bean.Student;import com.dcxm.stu.dao.impl.RegisterDaoImpl;import com.dcxm.stu.service.RegisterService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;@Servicepublic class RegisterServiceImpl implements RegisterService { @Autowired private RegisterDaoImpl registerDao; public Message studentRegister(Student student) {String telphoneNew = student.getTelphone();System.out.println('new Tel ' + telphoneNew);Message message = new Message();int row = registerDao.insertInfo(student);if (row == 1) { message.setText('注冊成功'); message.setFlag('true');} else { message.setText('電話號碼已經被注冊'); message.setFlag('false');}return message; }}
Message
public class Message { private String flag; private String text; public void setText(String text) {this.text = text; } public String getText() {return text; }public Message() { } public Message(String text, String flag) {this.flag = flag;this.text = text; } @Override public String toString() {return text + ' ' + flag; } public void setFlag(String flag) {this.flag = flag; }}
上面是問題代碼。
后來我寫了一個簡單的測試
@RestControllerpublic class StudentInfo { Student student = new Student(); @RequestMapping('/test') public Student getStudentInfo(){student.setUsername('123');student.setPassword('123');student.setTelphone('123');//language=JSONreturn student; }}
卻能正確的返回json
{'username':'123','password':'123','telphone':'123'}
問題解答
回答1:Message缺少:
public String getFlag() { return flag;}
相關文章:
1. 為什么我ping不通我的docker容器呢???2. webpack - vuejs+java前后臺分離實現及部署問題3. mysql - 這條聯合sql語句哪里錯了4. 在html文件的目錄下輸入代碼按回車后顯示這個,哪位大佬幫幫我 呀5. linux pdo 安裝配置中 make 遇到問題,請大家指教!6. mysql - 我的myeclipse一直連顯示數據庫連接失敗,不知道為什么7. 漏洞 - 如何為MYSQL建立不使用的,偽裝的my.cnf文件?8. javascript - 微信h5發送圖文信息,部分設備點擊“發送”按鈕時沒反應,問題較難重現,如何能找到可能存在問題的點?9. php - TP5的登錄驗證問題10. 網站在移動的環境下手機,pc打不開
